循环时如何忽略特定值

时间:2019-04-30 05:49:12

标签: javascript swift

我想将此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)

1 个答案:

答案 0 :(得分:1)

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)