寻找10000以下完美数字的Java程序
我目前正在编写java代码,它允许我打印出10000以下的所有完美数字。我的问题是,我不明白为什么我的代码不打印6,而是打印所有其他的完美数字。我的代码在下面,请发送帮助,如果你能看到我看了什么。谢谢,寻找10000以下完美数字的Java程序,java,perfect-numbers,Java,Perfect Numbers,我目前正在编写java代码,它允许我打印出10000以下的所有完美数字。我的问题是,我不明白为什么我的代码不打印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
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);
}
}
intmin=1;
int max=10000;
对于(min=1;min您的解决方案应该可以,但如果仍然有问题,请尝试清除,然后重建
下面列出的代码得到了正确答案:
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);
}
}
}
publicstaticvoidmain(字符串[]args){
int min=1;
int max=10000;
对于(min=1;min程序正在我的机器上打印6当我运行时,我得到的代码输出是6,28,496,8128,它没有给我任何你所说的行为。我会给你一个建议,将内环条件改为e@singhakash如果你在谈论效率,你应该在那里使用平方根…感谢大家的快速跟进,我重复我发现我要找的6被放在一个整数后面,这个整数是在我之前打印的,因为我没有让我的打印函数移到下一行。再次感谢!谢谢!我是个白痴,我的6被“添加”到一个打印的整数中,这个整数是在程序的这一部分之前打印的。