Java50道经典习题-程序9 求完数
题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出1000以内的所有完数。
1 public class Prog9 { 2 public static void main(String[] args) { 3 int n=1000; 4 compNumber(n); 5 } 6 //求完数 7 private static void compNumber(int n) { 8 System.out.println(n+"以内的完数:"); 9 for(int i=1;i<n+1;i++) { 10 int sum=0; 11 for(int j=1;j<i/2+1;j++) { 12 if((i%j)==0) { 13 sum+=j; 14 if(sum==i) { 15 System.out.print(i+" "); 16 } 17 } 18 } 19 } 20 } 21 } 22 /*运行结果 23 1000以内的完数: 24 6 24 28 496 25 */
The only way to do great work is to love what you do.