当前位置: 首页 > 面试题库 >

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

申屠无尘
2023-03-14
问题内容

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 。



 类似资料:
  • 主要内容:递归生成斐波那契数列,总结公元 1202 年,意大利数学家莱昂纳多·斐波那契提出了具备以下特征的数列: 前两个数的值分别为 0 、1 或者 1、1; 从第 3 个数字开始,它的值是前两个数字的和; 为了纪念他,人们将满足以上两个特征的数列称为斐波那契数列。 如下就是一个斐波那契数列: 1 1 2 3 5 8 13 21 34...... 下面的动画展示了斐波那契数列的生成过程: 图 1 斐波那契数列 很多编程题目要求我们输

  • 问题内容: 我的斐波那契计算器可以正常工作,但是当数值更高时,结果将变为负数,就像超过最大值一样。 它正在使用缓存。进入的所有内容都与预期的一样,但是当打印出来时,我得到例如291的信息: 根据http://www.maths.surrey.ac.uk/hosted- sites/R.Knott/Fibonacci/fibCalcX.html ,应为: 我的s 似乎出了点问题,但我不确定到底是什么

  • 题目链接 NowCoder 题目描述 求斐波那契数列的第 n 项,n <= 39。 <!--1}\end{array}\right." class="mathjax-pic"/> --> 解题思路 如果使用递归求解,会重复计算一些子问题。例如,计算 f(4) 需要计算 f(3) 和 f(2),计算 f(3) 需要计算 f(2) 和 f(1),可以看到 f(2) 被重复计算了。 递归是将一个问题划分

  • Python3 实例 斐波那契数列指的是这样一个数列 0, 1, 1, 2, 3, 5, 8, 13,特别指出:第0项是0,第1项是第一个1。从第三项开始,每一项都等于前两项之和。 Python 实现斐波那契数列代码如下: 实例(Python 3.0+)# -*- coding: UTF-8 -*- # Filename : test.py # author by : www.runoob.com

  • 这是我目前的代码: 我的目标是在日志中显示递归树,例如<code>fibonacci(5)</code>: 这可能吗?当前代码没有产生预期的输出。 电流输出: 理念:

  • 我认为第一个不可避免的步骤是做一个n个斐波那契数的数组,如下所示: 当然,我们可以通过只计算那些小于或等于n的斐波那契数来优化它,但这没有多大帮助,因为动态数组是不允许的。那么我们如何才能避免指数级的时间复杂度呢?