题目:一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。例如6=1+2+3.编程 找出1000以内的所有完数。

来源:互联网 发布:java高级证书试题 编辑:程序博客网 时间:2024/06/05 19:41
 
/*题目:一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。例如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+" ");}}}}


 

原创粉丝点击