// technically we should use BigInteger to represent larger numbers // The code here is presented using int's for clarity public class searchForOddPerfectNumber{ public static void main(String [] args){ int n = 1; // arbitrary-precision integer while (true) { int sumOfFactors = 0; for (int factor = 1; factor < n; factor++) { if ((n % factor) == 0) { sumOfFactors = sumOfFactors + factor; } // if } // for loop if (sumOfFactors == n){ System.out.println("n: " + n + "is a perfect number."); break; } n = n + 2; } // while loop System.out.println("End of program"); } // main }