/**
* 问题:
* 一个数如果恰好等于它的因子之和,这个数
* 就称为 "完数"。例如6=1+2+3.编程 找
* 出1000以内的所有完数。
*
* @author Administrator
*
* 程序如下:
*
*/
public class PerfectNumber {
public static void main(String args[]){
PerfectNumber pn=new PerfectNumber();
for(int i=1;i<1000;i++){
if(pn.isPerfectNumber(i)){
System.out.println(i);
}
}
}
public boolean isPerfectNumber(int x){
boolean b=false;
int s=0;
for(int i=1;i<x;i++){
if(x%i==0){
s+=i;
}
}
if(x==s){
b=true;
}
return b;
}
}
运行结果如下:
run:
6
28
496
成功生成(总时间:0 秒)