找出1000以内的所有完数

 1 /*
 2  * 题目:找出1000以内的所有完数
 3  * 
 4  * 完数:完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。
 5  *     如果一个数恰好等于它的因子之和,则称该数为"完全数"。
 6  *     因子:除去这个数本身的其它约数
 7  */
 8 
 9 public class PerfectNumber {
10     public static void main(String[] args) {
11         
12         for (int i = 1; i < 1000; i++) {
13             int sum = 0; //记录一个数的因子的和
14             for (int j = 1; j < i; j++) { //找这个数的因子
15                 if (i % j == 0) {
16                     sum += j;
17                 }
18             }
19             
20             //如果这个数等于他的因子之和,就打印输出
21             if (i == sum) {
22                 System.out.println(i);
23             }
24         }
25         
26     }
27 }

 

运行结果:

6
28
496

 

posted on 2019-05-22 00:10  _Stefanie  阅读(7143)  评论(0编辑  收藏  举报

导航