-3
我爲Java Project for Euler編寫代碼(http://projecteuler.net/)。我對Java編程相當陌生,所以我只針對問題#12,它要求您找到超過500個因子的最小三角形數(例如1 + 2 + 3 + 4 + 5)。我寫的代碼,但由於某種原因,我的代碼不斷得到鴻:我的java代碼有什麼問題?歐拉項目12
int factors = 0;
long triangle = 0L;
for(int x = 1; factors <= 500; x++){
triangle += x;
for(int y = 1; y<=triangle; y++){
if(triangle%y==0){
factors = factors + 1;
}
}
if(factors > 500){
System.out.println(triangle);
}
else{
factors = 0;
}
}
對於空間的便利性,我不包括的類或主。該程序沒有編譯時錯誤,但我無法弄清楚它爲什麼沒有產生答案。
感謝您的幫助
因爲我認爲這將是一個非常大的數字。另外,要在'triangle + = x'中加入自身,它首先必須等於什麼。 – Moose
您是否嘗試過使用調試器來查看三角形因子的值是如何隨x的每次迭代而改變的? – Marcelo
它沒有被掛起;這只是非常低效。要解決這個問題,你將不得不嘗試一種不同的方法。 –