Java程序可以找到10,000以下的完美数字

时间:2015-09-17 15:10:38

标签: java perfect-numbers

我目前正在处理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);
    }         
}     

1 个答案:

答案 0 :(得分:1)

您的解决方案应该没问题,但如果仍有问题,请尝试清除然后重建。

下面列出的代码会得到正确的答案:

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);
        }          
    }      
}