Closed. This question is not reproducible or was caused by typos。它当前不接受答案。
想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
4年前关闭。
我目前正在研究Java代码,该代码将允许我打印出所有低于10,000的完美数字。我的问题是我无法弄清楚为什么我的代码不打印6,而是打印所有其他完美数字。我的代码在下面,如果您可以看到我所浏览的内容,请发送帮助。谢谢,
想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
4年前关闭。
我目前正在研究Java代码,该代码将允许我打印出所有低于10,000的完美数字。我的问题是我无法弄清楚为什么我的代码不打印6,而是打印所有其他完美数字。我的代码在下面,如果您可以看到我所浏览的内容,请发送帮助。谢谢,
int min = 1;
int max = 10000;
for (min = 1; min <= max; min++) {
int sum = 0;
int e = 1;
for (e = 1; e < min; e++) {
int a = min % e;
if (a == 0) {
sum += e;
}
}
if (sum == min){
System.out.println(sum);
}
}
最佳答案
您的解决方案应该可以,但是如果仍然有问题,请尝试清除然后重新构建。
我下面列出的代码得到正确的答案:
public static void main(String[] args){
int min = 1;
int max = 10000;
for (min = 1; min <= max; min++) {
int sum = 0;
for (int e = 1; e < min; e++) {
if ((min % e) == 0) {
sum += e;
}
}
if (sum == min){
System.out.println(sum);
}
}
}
09-11 17:56