我不太确定我在这里遇到了什么问题,我希望有人可以帮助我。这是我在 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. 标记为不正确。谁能告诉我这里出了什么问题?
谢谢大家!!
最佳答案
您的问题是您的 target++
位于错误的位置。按照您现在的代码方式,这是在测试数字的 for
循环内调用的 - 即,您在检查目标的同时更改目标。移动 target++
语句,使其脱离 for
循环,但仍在 while
循环中。
关于java - 除数范围 (Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20864626/