leetcode507. 完美数

Posted woshizhizhang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode507. 完美数相关的知识,希望对你有一定的参考价值。

超出时间限制改进

28 = 1 + 2 + 4 + 7 + 14

循环从1到sqrt(28)

每次加上 i 和 num/i

比如 2 和 14 

class Solution:
    def checkPerfectNumber(self, num: int) -> bool:
        import math
        if num <= 1:
            return False
        ans = 0
        for i in range(1, int(math.sqrt(num)) + 1, 1):
            if num % i == 0:
                ans += i
                if i != 1 and num / i != i:
                    ans += num / i
        return ans == num

 

以上是关于leetcode507. 完美数的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode 507 完美数[枚举] HERODING的LeetCode之路

LeetCode Algorithm 507. 完美数

LeetCode:507. 完美数————简单

Python|Leetcode《507》|完美数

leetcode507. 完美数

507-完美数