使用斐波那契数列的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

回到顶部