Swift Bug还是编码错误?对于结构中的循环

时间:2015-01-01 01:00:57

标签: ios iphone swift for-loop struct

所以我试图创建一个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)?

1 个答案:

答案 0 :(得分:0)

您是否尝试在函数内打印数字变量的值?

你的逻辑似乎是颠倒过来的。如果数字x可被另一个小于x的数字整除,则x不是素数。如果x可以整除,则返回true。它应该是假的。