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以内完数运行结果

猜你喜欢

转载自blog.csdn.net/ChaunceyLX/article/details/120156790