Perfect number
December 27, 2022
math-and-geometryProblem URL: Perfect number
We will find all the divisors of the number and then sum them up. If the sum is equal to the number, then it is a perfect number.
class Solution:
def checkPerfectNumber(self, num: int) -> bool:
if num <= 1:
return False
divisorSum = 1
for i in range(2, int(sqrt(num)) + 1):
if num % i == 0:
divisorSum += i
divisorSum += num // i
return divisorSum == num
Time complexity: O(sqrt(n))
Space complexity: O(1)