對於以下代碼,當「n」大約100,000時停止運行。我需要它運行到100萬。我不知道它出錯的地方,我仍然在學習Java,所以在代碼中也可能存在一些簡單的錯誤。循環停止運行java
public class Problem14{
public static void main(String[] args) {
int chainLength;
int longestChain = 0;
int startingNumber = 0;
for(int n =2; n<=1000000; n++)
{
chainLength = getChain(n);
if(chainLength > longestChain)
{
System.out.println("chainLength: "+chainLength+" start: "+n);
longestChain = chainLength;
startingNumber = n;
}
}
System.out.println("longest:"+longestChain +" "+"start:"+startingNumber);
}
public static int getChain(int y)
{
int count = 0;
while(y != 1)
{
if((y%2) == 0)
{
y = y/2;
}
else{
y = (3*y) + 1;
}
count = count + 1;
}
return count;
}
}
我只是好奇 - 一般來說代碼的目的是什麼? – Coffee 2012-08-17 15:39:04
您是否嘗試捕獲異常以查看是否拋出了未處理的異常?也許堆棧溢出? – 2012-08-17 15:40:11
我在做Euler項目,它是一個網站,你必須解決數學問題。 繼承人我在做的問題:http://projecteuler.net/problem=14 – stackErr 2012-08-17 15:41:41