{25 points} Write a well designed and structured program to find perfect numbers. A perfect number is a
positive integer that is equal to the sum of its positive divisors, excluding the number itself. For example 28 is
a perfect number since 1+2+4+7+14 = 28.
Your program must include a method with this signature:
public static void find PerfectNumbers(int howMany);
When called it prints out the first howMany perfect numbers from lowest to highest. Requirements:
1.
Think before programming - in addition to the findPerfect Numbers method you must have at least
one more method used in the solution (use as many as you wish). Your design should be clear from
comments (pseudo code) and/or carefully chosen variable and method names. Make your code
readable!
2. Call and test your program from main in some suitable way (sample calls to findPerfectNumbers or
input from the user).
3. You must search with code for the perfect numbers. Our prior work on factors should be helpful.
DO NOT just look up and use a list of known perfect numbers to pick from!
4. Testing notes - there are very few perfect numbers. 8128 is the 4th perfect numbers and the highest
one less than 10,000. Your program should be able to run and find the first four. 33,550,336 is the
highest perfect number less than 50 million. There are no known odd perfect numbers, but no one has
been able to prove that none exist - if you find an odd one either your code has a bug or you can
immediately apply for a dual PhD in math and computer science!