describe

A perfect number is a positive integer that is equal to the sum of its positive divisors, excluding the number itself. A divisor of an integer x is an integer that can divide x evenly.

Given an integer n, return true if n is a perfect number, otherwise return false.

Example 1:

Input: num = 28
Output: true
Explanation: 28 = 1 + 2 + 4 + 7 + 14
1, 2, 4, 7, and 14 are all divisors of 28.
Copy the code

Example 2:

Input: num = 6
Output: true
Copy the code

Example 3:

Input: num = 496
Output: true
Copy the code

Example 4:

Input: num = 8128
Output: true
Copy the code

Example 5:

Input: num = 2
Output: false
Copy the code

Note:

1 <= num <= 10^8

parsing

The sum of all positive divisible numbers (except itself) of num is equal to num. The solution is based on this idea, so I don’t want to repeat it.

answer

class Solution(object): def checkPerfectNumber(self, num): """ :type num: int :rtype: bool """ if num == 1: For I in range(2, int(math.sqrt(num)) + 1): if num % I == 0: Return num == count + 1Copy the code

The results

Given in the Python online submission. Memory Usage: Given in the Python online submissions for Perfect Number.Copy the code

Original link: leetcode.com/problems/pe…

Your support is my biggest motivation