这是我的代码

class Euler5
{
 public static void main(String args[])
 {
 long i=2520l;
 int flag= 1;
 if(flag == 1)
 {
  search:
  for(int j=10;j<=20;j++)
   {
    long a=i%j;
    if(a!=0)
    {
     i+=20;
     break search ;
    }
    if(j==20)
    {
    flag=0;
    }
   }
 }
 System.out.print(i);

   }
 }


它总是打印2540。我发现了另一种解决方法。但是令我震惊的是为什么这不起作用?

最佳答案

if(flag == 1)替换为while (flag == 1)。否则,您将只对11个值进行一次迭代。

关于java - 能被1到20的所有数均分的最小正数是多少?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20904383/

10-11 22:25
查看更多