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的斐波纳契系列。
答案 0 :(得分:1)
Fib(47)是2,971,215,073。
2,971,215,073大于2 31 - 1 ...这是最大的32位有符号整数。
因此你的计算是溢出的。 (在很多编程语言中,你不会有错误。你会得到错误的答案。)
我如何找到数字为100的斐波纳契系列。
您不能使用简单的整数运算。您将需要使用Swift等效的Java BigInteger
类。