import element.*; public class perfect { public static void main(String args[]) { ConsoleWindow c = new ConsoleWindow(); final int max = 10000; int facsum[] = new int[max+1]; int n,m; // initialize the array (entries 0,1 unused) for (n = 2; n <= max; n++) { facsum[n] = 1; // one is a factor of all numbers } // cross out multiples of uncrossed numbers for (n = 2; n <= max; n++) { for (m = 2*n; m <= max; m += n) { facsum[m] = facsum[m] + n; } } // print out perfect numbers: numbers equal to their index for (n = 2; n <= max; n++) { if (facsum[n] == n) { c.out.print(n+" "); } } c.out.println(); System.exit(0); } } /* 6 28 496 8128 */