所以我试图创建一个iOS应用程序来检查输入字段中的素数作为练习。我重构了我的代码,以获得一个专门用于计算函数的结构,如isPrime。出于某种原因,我的for循环在结构中时不能正常工作。如果我将它重构回控制器,它就可以工作。
func isPrime(number:Int) -> Bool{
let start = 2
for var i = number-1; i > 1; i-- {
if (number % i == 0){
return true
}
}
return false
}
调试器thingy回馈这些输入: 将12种类型添加到文本字段
number = 12
i = 14070095816392014214
为什么我的变量i在for循环中如此大?我还测试了在函数中放置一个stray变量,它做了同样的事情(ex; start_int = 14214124123232423)?
答案 0 :(得分:0)
您是否尝试在函数内打印数字变量的值?
你的逻辑似乎是颠倒过来的。如果数字x可被另一个小于x的数字整除,则x不是素数。如果x可以整除,则返回true。它应该是假的。