gpt4 book ai didi

java - 仅使用 Java 中的循环和 if 语句查找 1-1000 之间的完美数字

转载 作者:行者123 更新时间:2023-12-01 18:09:49 28 4
gpt4 key购买 nike

我知道这个问题之前已经被问过很多次了,但我还没有看到有人使用这种方法。在对此有任何评论之前,是的,确实如此,但我并不是在寻找完整的答案,我只是在寻找正确方向的插入力。基本上,我对这段代码的问题是它只输出数字“0”。我想知道我哪里出错了。

public class Perfect {
public static void main(String[] args) {
final int LIMIT = 1_000;
int i;
int x;
int works = 0;

for(i = 1; i <= LIMIT; i++)
if(works == i - 1) {
System.out.print(works + " ");
}
for(x = 2; x <= i; x++)
if(i % x == 0) {
works = works + x;
}
else
works = works;
}

}

最佳答案

您做错的一件事是您没有为 for 循环使用 {}

您缩进的方式并不是它的执行方式。

其执行方式如下。

for(i = 1; i <= LIMIT; i++) {
if(works == i - 1) {
System.out.print(works + " ");
}
}

for(x = 2; x <= i; x++) {
if(i % x == 0) {
works = works + x;
}
else {
works = works;
}
}

最好始终将 {} 与循环和 if 语句一起使用,以防止出现此类错误。

关于java - 仅使用 Java 中的循环和 if 语句查找 1-1000 之间的完美数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33882467/

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