gpt4 book ai didi

java - Java 中的欧拉项目 #5 : stuck in the end of program

转载 作者:行者123 更新时间:2023-12-01 21:48:19 25 4
gpt4 key购买 nike

我试图得到能被 1 到 20 的所有数字整除的最小正数。但不知何故,我陷入了程序的末尾。我的答案是40,这是错误的。这是我的代码:

public class Lessons {

public static void main(String[] args) {
int n;
int s = 0;

for (n = 21; n > 0; n++)
{
for (int m = 1; m <= 20; m++)
{
s = n % m;
}
if (s == 0)
{
System.out.println(n);
break;
}

}
}
}

有什么帮助吗???

最佳答案

您实际上只是检查是否n%20 == 0。这个循环:

for (int m = 1; m <= 20; m++) {
s = n % m;
}

确实运行从 1 到 20 的 m,但您总是覆盖 s 并且在下次通过循环重置它之前永远不会对该值执行任何操作。您需要检查循环每次迭代的 n % m 的结果,可能如下:

    for (n = 21; n > 0; n++) {
bool divisibleByAll = true;

for (int m = 1; m <= 20; m++) {
s = n % m;

if(s != 0) {
divisibleByAll = false;
break; //don't bother checking the rest
}
}

if (divisibleByAll) {
System.out.println(n);
break;
}

}

关于java - Java 中的欧拉项目 #5 : stuck in the end of program,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35618229/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com