所以我正在尝试制作一个 iOS 应用程序来检查输入字段中的质数作为练习。我重构了我的代码,使其具有专门用于 isPrime 等计算函数的结构。出于某种原因,我的 for 循环在结构中时无法正常工作。如果我将它重构回 Controller ,它就会起作用。
func isPrime(number:Int) -> Bool{
let start = 2
for var i = number-1; i > 1; i-- {
if (number % i == 0){
return true
}
}
return false
}
调试器返回这些输入: 在文本字段中输入 12
数字 = 12
我 = 14070095816392014214
为什么我在 for 循环中的变量 i 这么大?我还测试了在函数中放置一个杂散变量,它做了同样的事情(例如;start_int = 14214124123232423)?
最佳答案
您是否尝试在函数内打印数字变量的值?
你的逻辑好像颠倒了。如果一个数 x 可以被另一个小于 x 的数整除,则 x 不是质数。如果 x 可整除,则返回 true。它应该是假的。
关于ios - Swift 错误或编码错误?结构中的 For 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27727613/