使用斐波那契数列的for循环来打印值时,它将最多显示47个值,以显示错误

问题描述

Fib(47)是2,971,215,073。2971215073大于2 31 - 1 …这是最大的32位带符号整数。

因此,您的计算正在溢出。(在许多编程语言中,您不会出错。您只会得到错误的答案。)

我如何找到100号斐波那契数列。

您不能使用简单的整数运算。您将需要使用与Java BigInteger类等效的Swift 。

解决方法

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号斐波那契数列。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...