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(" "); } } } }