1. 程式人生 > >Leetcode 507.完美數

Leetcode 507.完美數

示例 超過 for span col 圖片 check 相等 style

完美數

技術分享圖片

對於一個 正整數,如果它和除了它自身以外的所有正因子之和相等,我們稱它為"完美數"。

給定一個 正整數 n, 如果他是完美數,返回 True,否則返回 False

示例:

輸入: 28

輸出: True

解釋: 28 = 1 + 2 + 4 + 7 + 14

註意:

輸入的數字 n 不會超過 100,000,000. (1e8)

技術分享圖片

 1 bool checkPerfectNumber(int num) {
 2     if(num == 1) return false;
 3     int n = sqrt(num);
 4     int ans = 1;
 5
for(int i = 2;i <= n;i++){ 6 if(num % i == 0){ 7 ans += i + num / i; 8 } 9 } 10 return ans == num; 11 }

Leetcode 507.完美數