我目前正在尝试Euler问题的问题3,并且我遇到了以下问题:当编译下面的代码时,我得到的只是“1”作为输出,即使for循环使它运行多次。我已将数字降低到30以试图找到问题,但我还没有找到它。看看其他解决方案,我的解决方案的逻辑完全一样。
public class eulerproblem3
{
public static void main(String[]args)
{
int current = 1;
for (int test=1;test==30;test++)
{
if ((30%test)==0)
{
boolean a = testPrime(test);
if ((a==true)&&(test==current))
{
System.out.println(current);
}
}
}
}
private static boolean testPrime(long test1)
{
for(long ref=2; test1==ref; ref++)
{
if ((test1%ref)==0)
{
return false;
}
}
return true;
}
}
答案 0 :(得分:0)
for
的条件总是错误的。你可能想要像
for (int test = 1; test < 30; test++)