gpt4 book ai didi

java - 欧拉计划 25 无限循环

转载 作者:行者123 更新时间:2023-11-29 09:50:04 25 4
gpt4 key购买 nike

我正在研究 Euler 项目 25 .我弄清楚了如何计算 Fibonacci,并且正在使用 BigInteger。我的程序似乎在无限循环中运行(或者我认为如此)。会不会是它花了很长时间,或者它实际上进入了无限循环?有人可以指出正确的方向以便我修复它吗?

import java.math.BigInteger;

public class Problem25 {

public static void main(String[] args) {
getTerm(0);
}

public static void getTerm(int start) {

BigInteger var = BigInteger.ZERO;
BigInteger var2 = BigInteger.valueOf(start);

int counter = 0;

while(true) {

BigInteger temp = var.add(var2);
var = var2;
var2 = temp;
counter++;

if(var.toString().length() > 1000) {
System.out.print(counter);
}
}
}
}

编辑:对不起大家。我想,我休息了;但感谢您的回复。

最佳答案

你没有终止循环的条件:

while(true) { // << always true ;P

BigInteger temp = var.add(var2);
var = var2;
var2 = temp;
counter++;

if(var.toString().length() > 1000) {
System.out.print(counter);
}
}

所以这是一个无限循环。您有两个(甚至更多)选项:

  • while(statement) 中指定继续下一轮循环的条件。
  • 添加一些 break; 语句以在某个条件被评估为真时停止循环。

关于java - 欧拉计划 25 无限循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8216592/

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