/*题目:一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。例如6=1+2+3.编程 找出1000以内的所有完数。
*/
public class End1{
public static void main(String[]args){
int sum = 0;
for(int i = 0;i<=1000;i++){
sum = 0;
int arr[] = new int[i];
for(int j = 1;j < i;j++){
if(i%j == 0){
int k = 0;
arr[k] = j;
sum += arr[k];
k++;
}
}if(i == sum){
System.out.print(i+" ");
}
}
}
}
方法二:
public class End2 {
public static void main(String[]args){
int i,j,sum=0;
for(i=1;i<1000;i++){
sum = 0;
for(j = 1;j <=i/2;j++){
if(i%j==0){
sum += j;
}
}
if(sum == i){
System.out.print(i+" ");
}
}
}
}