循环时如何忽略特定值[关闭]

问题描述 投票:1回答:1

我想将这个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)
javascript swift
1个回答
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)
© www.soinside.com 2019 - 2024. All rights reserved.