一个整数的所有因子(包括1,但不包括本身)之和等于这个数字本身,则称为完全数。写一方法,判断某个数是否是完全数, 并写一测试类,打印1000以内的所有完全数。

解决方案 »

  1.   


    class  PerfectNum
    {
    //计算一个数的所有因子之和。
    public static int elementSum(int num){
    int sum=0;
    for(int i=1;i<num;i++)
    if(num%i==0)
    sum+=i;
    return sum;
    }
    public static void main(String[] args) 
    {
    for(int i=2;i<=1000;i++)
    if(elementSum(i)==i)
    System.out.print(i+"\t");
    }
    }
      

  2.   

    我又晚了 嘿嘿public static void main(String[] args) {

      for (int i = 0; i < 1000; i++) {
      if (i==divsum(i)) {
    System.out.println(i);
       }
    }
      }

    public static int divsum (int n ) {
    int s = 0 ;

    for (int i = 1; i < n; i++) {
    if (n%i==0) {
    s+=i;
    }
    }
    return s;
    }