【发布时间】:2018-09-17 02:47:27
【问题描述】:
我正在处理Euler 问题 5,即:
2520 是可以除以 1 到 10 的每个数字而没有任何余数的最小数字。 能被 1 到 20 的所有数整除的最小正数是多少?
我的嵌套循环有问题。我在while 循环中有一个for 循环。我的逻辑是我
如果currentNumber 不是i 的倍数,则检查一个数字(currentNumber)与1-20(i)(使用模算术检查)
然后它会跳出那个循环并尝试下一个最大的数字。
我的问题是我无法弄清楚如何跳出仅我的内循环而不是我的外循环。这是我的代码:
class Five {
init() {
var currentNumber = 1
while true {
for i in 1...20 {
if currentNumber % i != 0 {
currentNumber += 1
continue
}
}
break
}
print("the smallest positive number that is evenly divisible " +
"by all of the numbers from 1 to 20 is \(currentNumber)")
}
}
【问题讨论】: