使用斐波那契数列的for循环来打印值时,它将最多显示47个值,以显示错误。
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 。
以上是 使用斐波那契数列的for循环来打印值时,它将最多显示47个值,以显示错误。 的全部内容, 来源链接: utcz.com/qa/405161.html