完数的输出

public class StringTsetNnit2 {
    public static void main(String[] args) {
//1000以内的完数
        for (int i = 1; i < 1000; i++) {
            int sum = 0;
             for (int j = 1;j < i;j++){
                 if(i % j == 0){

                     sum = sum+j;
                 }

             }
             if(i==sum)
                {
                    System.out.println(i+":");
                }

        }
    }
}


 补充:要想知道该数是由哪些因数相加而成,改进如下:

public class StringTsetNnit2 {
    public static void main(String[] args) {
}
//1000以内的完数
        for (int i = 1; i < 1000; i++) {
            int sum = 0;
             for (int j = 1;j < i;j++){
                 if(i % j == 0){

                     sum = sum+j;
                 }

             }
             if(i==sum)
                {
                    System.out.print(i+":");
                    for(int k= 1;k<i;k++){
                        if(i % k == 0){
                            System.out.print(k);
                            System.out.print(" ");
                        }
                    }
                    System.out.println(" ");
                }


        }
    }
}
原文地址:https://www.cnblogs.com/128-cdy/p/11523858.html