除数范围(Java)

时间:2014-01-01 00:48:05

标签: java

我不太确定我在这里遇到什么问题,我希望有人可以帮助我。这是我在Stack Overflow上的第一篇文章,我对编程比较陌生,所以我希望我不会冒犯任何人在这里的感受。

这是提示(是的,这是项目欧拉问题,请不要给出答案):1到20之间的每个数字可以整除的最低数字是多少?

这是我编码的内容:

    int target = 21;
    int divisor;
    boolean success = false;
    while (!success)
    {
        for (divisor = 1; divisor < 21; divisor++)
        {
            if (target % divisor != 0)
            {
                break;
            }
            else
            {
                if (divisor == 20)
                {
                    success = true;
                }
            }
        target++;
        }

    }

    System.out.println(target);

我得到的答案(232792581)被P.E.标记为不正确。谁能告诉我这里出错了什么?

谢谢大家!!

1 个答案:

答案 0 :(得分:1)

您的问题是您在错误的地方target++。现在代码的方式是在for循环中调用,在那里测试数字 - 即你在检查目标的同时更改目标。移动target++语句,使其超出for循环,但仍在while循环中。