这个程序的目的是找到能被所有整数 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))
永远不会评估为真。