首页 > 解决方案 > 循环时如何忽略特定值

问题描述

我想将此javascript转换为用于解决编码测试的swift。算法最多计算一个数字并在循环时跳过特定数字。

一家酒店有 300 间客房,每间客房都使用从 001 开始的三位数字编号。但是,数字 2 和 5 不用于任何房间编号的任何地方。第100个房间的房间号是多少?

javascript

var currentNumber = 1, var n = 0;
while (currentNumber <= 100) {
    n++;
    if (n.toString().search(/[25]/) == -1)
    currentNumber++
    }
    console.log(n);

迅速尝试

var currentRoom = 1
var n = 0

while currentRoom <= 100 {
    n += 1
    if n. // don't know the Swift equivalent methods.
}

编辑:除了使用 Swift 的重复语法接受的答案之外,我还能够编写另一个解决方案。

var roomNumber = 1, x = 0
repeat {
    x += 1
    if String(x).contains("2") || String(x).contains("5")  {
        continue
    }
    roomNumber += 1

} while roomNumber <= 100
print(x)

标签: javascriptswift

解决方案


var currentRoomNo = 1
var n = 0
while currentRoomNo <= 100 {
    n += 1
    if String(n).contains("2") || String(n).contains("5")  {
       continue
    }
    currentRoomNo += 1
    }
print(n)

推荐阅读