We define the Perfect Number is a positive integer that is equal to the sum of all its positive divisors except itself.
Now, given an integer n, write a function that returns true when it is a perfect number and false when it is not.
Example:
Input: 28 Output: True Explanation: 28 = 1 + 2 + 4 + 7 + 14
Note: The input number n will not exceed 100,000,000. (1e8)
1 class Solution { 2 public: 3 bool checkPerfectNumber(int num) { 4 int sum = 0; 5 if(num==0) 6 return false; 7 for (int i = 1; i*i < num; i++) 8 { 9 if (num%i == 0) 10 { 11 sum += i; 12 sum += num / i; 13 } 14 } 15 if (sum== num*2) 16 return true; 17 else 18 return false; 19 } 20 };