var num = “100” var num = text2.text.toInt() var temp = 0 var temp2 = 1 if (nu == 1) { println(1) } else { for var valued = 2; valued<num;++valued { var temp3 = temp + temp2 temp = temp2 temp2 = temp3 println(“(temp3)”)
}
我想打印斐波那契数列。该数字应为用户应选择的任何数字。我的代码在上面,我必须选择num作为100,但它将最多打印47个值。此处打印的最终值为1836311903。最多可打印100张。显示错误。我如何找到100号斐波那契数列。
Fib(47)是2,971,215,073。2971215073大于2 31 - 1 …这是最大的32位带符号整数。
因此,您的计算正在溢出。(在许多编程语言中,您不会出错。您只会得到错误的答案。)
我如何找到100号斐波那契数列。
您不能使用简单的整数运算。您将需要使用与Java BigInteger类等效的Swift 。
BigInteger