在做我的Java作业,实现科拉兹猜想时,我想到了一个不同的目标,那就是找到最长的科拉兹序列。我的程序如下计算步骤:
public class Collatz {
static int count = 0;
static void bilgi (int n){
int result = n;
System.out.println("Result: "+result+ " Step: "+count);
if (result <= 1) {
result = 1;
} else if (result%2 == 0){
result = result/2;
count = count + 1;
bilgi(result);
} else {
result = (result*3)+1;
count = count + 1;
bilgi(result);
}
}
public static void main(String[] args) {
bilgi(27);
}
}
我想找到最高的步数。
bilgi
返回计数,并记住最高的计数。但是使用long
来处理数字,因为它们可能会变得非常大。 - Daniel Fischer