48.2k views
23 votes
Write the Number class that can be used to test if the number is odd, even, and perfect. A perfect number is any number that is equal to the sum of its divisors. Write the NumberAnalyzer class that has an ArrayList of Number to determine how many numbers in the list are odd, even, and perfect.

1 Answer

4 votes

Answer:

Step-by-step explanation:

The following code is written in Python. It creates a class that takes in one ArrayList parameter and loops through it and calls two functions that check if the numbers are Perfect, Odd, or Even. Then it goes counting each and printing the final results to the screen.

class NumberAnalyzer:

def __init__(self, myArray):

perfect = 0

odd = 0

even = 0

for element in myArray:

if self.isPerfect(element) == True:

perfect += 1

else:

if self.isEven(element) == True:

even += 1

else:

odd += 1

print("# of Perfect elements: " + str(perfect))

print("# of Even elements: " + str(even))

print("# of Odd elements: " + str(odd))

def isPerfect(self, number):

sum = 1

i = 2

while i * i <= number:

if number % i == 0:

sum = sum + i + number / i

i += 1

if number == sum:

return True

else:

return False

def isEven(self, number):

if (number % 2) == 0:

return True

else:

return False

User Idealmind
by
3.3k points