gpt4 book ai didi

java - 斐波那契数列算法

转载 作者:搜寻专家 更新时间:2023-11-01 03:45:29 24 4
gpt4 key购买 nike

我试图找到斐波那契数列中第一个包含 N 个数字的数字(N 在 500 和 2000 之间)。我尝试使用以下代码执行此操作:

BigInteger num = BigInteger.valueOf(2);
BigInteger num1 = BigInteger.ONE;
BigInteger num2 = BigInteger.ONE;
int record = 0;
BigInteger TEN = BigInteger.valueOf(10);

public BigInteger run()
{
BigInteger temp = BigInteger.ZERO;
while(num2.compareTo(TEN.pow(SomeN - 1)) < 0)
{
if(num2.compareTo(TEN.pow(record + 1)) >= 0)
{
System.out.println(""+record);
record++;
}

temp = num1.add(num2);
num1 = num2;
num2 = temp;

num = num.add(BigInteger.ONE);
}
System.out.println(""+num);
System.out.println(""+num2);
return num2;
}

问题是,当我测试 1500 个数字时,我得到的答案显然是错误的。我不知道答案应该是什么,我什至检查了它周围的答案,以防我的算法以 10 的幂关闭(即我检查了 1499 位和 1501),但无济于事。有谁知道哪里出了问题吗?

最佳答案

(删除了远离基本提示的方式)

编辑:EP 网站已备份,我在使用您的代码时得到的答案与网站接受的对我来说是正确的答案相匹配,早在什么时候。

关于java - 斐波那契数列算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1910312/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com