java经典算法|完数

问题描述

      找出1000以内的所有完数。所谓完数,就是一个数恰好等于它的因子之和

问题分析

      遍历范围内的所有数,记录各个数的因子之和,如果该数的因子之和与该数相等,打印输出即可

代码实现

public class FinishNumber {
    public static void main(String[] args) {
        //1000以内的所有完数
        for (int i = 1; i <= 1000; i++) {
            int sum = 0;
            for (int j = 1; j <= i / 2; j++) {
                if (i % j == 0) {
                    sum += j;
                }
            }
            if (sum == i) {
                System.out.print(i + " ");
            }
        }
        System.out.println();
    }
}

运行结果

1000以内完数运行结果

posted @ 2021-09-07 14:11  Evan-LiuXing  阅读(50)  评论(0编辑  收藏  举报