对于一个 正整数,如果它和除了它自身以外的所有正因子之和相等,我们称它为“完美数”。
给定一个 整数 n
, 如果他是完美数,返回 True
,否则返回 False
示例:
输入: 28
输出: True
解释: 28 = 1 + 2 + 4 + 7 + 14
class Solution:
def checkPerfectNumber(self, num: int) -> bool:
if num<=1:
return False
sum = 0
for i in range(1,int(math.sqrt(num))+1):
if num%i ==0:
sum +=i
if i!=1 and num//i!=i:
sum=sum+num//i
return sum == num