完数

完数:一个数等于它的因子之和。 如 6=1+2+3  

因子:除去这个数本身的正的约数

求1000内所有完数:

public class TestWanShu {
    public static void main(String[] args) {
        int fa = 0;
        for (int i = 1; i < 1000; i++, fa = 0) {
            // 每执行完一次下面的循环就会将i的所有因子累加到 fa 中
            for (int j = 1; j < i; j++) {
                if (i % j == 0) {
                    fa += j;
                }
            }
            if (i == fa) {
                System.out.println(i);
            }
            // fa = 0;
        }
    }
}

输出结果:

6
28
496

 
All that work will definitely pay off
原文地址:https://www.cnblogs.com/afangfang/p/12445998.html