このプログラムの目的は、1 から 20 までのすべての整数で割り切れる最小の数を見つけることです。もっと効率的にできることはわかっていますが、現時点では最適化するつもりはありません。プログラムを実行すると、永遠にハングしているように見えるので、どこかに無限ループがあると思います。私はそれを見つけることができないようです。コードのどの部分が問題を引き起こしているのかわからず、比較的簡潔なので、ここにすべて投稿します。
public class Problem5{
public static void main(String[]args){
boolean notFound = true;
while(notFound){
int n = 20;
if(testDivide(n)){
System.out.println(n);
notFound = false;
}
else
n++;
}
}
private static boolean testDivide(int target){
for(int i = 20; i > 0; i--){
if(target % i != 0)
return false;
}
return true;
}
}
誰かがこれで私を助けてくれれば、とても感謝しています。
追加情報: プログラムは数値も出力しないため、if(testDivide(n))
true と評価されることはないと思います。