# LeetCode - 0507. Perfect Number ### 題目網址:https://leetcode.com/problems/perfect-number/ ###### tags: `LeetCode` `Easy` `數學` `質數` ```cpp= /* -LeetCode format- Problem: 507. Perfect Number Difficulty: Easy by Inversionpeter */ class Solution { int FactorsSum(int number) { int buffer = sqrt(number), base, temporary, sums = 1; for (int i = 2; i <= buffer; ++i) if (!(number % i)) { temporary = 1, base = 1; do { base *= i, temporary += base, number /= i; } while (!(number % i)); sums *= temporary, buffer = sqrt(number); } if (number != 1) sums *= (number + 1); return sums; } public: bool checkPerfectNumber(int num) { return num > 0 && (FactorsSum(num) == (num << 1)); } }; ```