0

我目前正在研究 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);
    }         
}     
4

1 回答 1

2

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

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

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);
        }          
    }      
} 
于 2015-09-17T15:37:38.367 回答