leetcode:507. Perfect Number
2017-04-16 23:18
162 查看
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)
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)
题意&解题思路
求所给数的质因子之和是否和该数相等。暴力求解,从2到(√n)。把符合条件的都加起来即可。class Solution { public: bool checkPerfectNumber(int num) { if(num == 1)return false; int ans = 1; int x = sqrt(num); for(int i = 2; i <= x; i++){ if(num % i == 0){ ans += i; ans += num/i; } } return ans == num; } };
相关文章推荐
- [Leetcode] 507. Perfect Number 解题报告
- leetcode 507. Perfect Number 完美数字
- LeetCode 171/168 Excel Sheet Column Number/Title
- [LeetCode]-009-Palindrome_Number
- LeetCode Number of Atoms
- LeetCode "Additive Number"
- *LeetCode-Ugly Number II
- LeetCode 17 Letter Combinations of a Phone Number
- LeetCode Valid Number
- LeetCode 264. Ugly Number II
- [leetcode 171] Excel Sheet Column Number
- LeetCode之Single Number(java版)
- [LeetCode] Single Number II
- LeetCode 260. Single Number III
- LeetCode Single Number I & II
- LeetCode---Single Number II
- LeetCode 137 Single Number II
- leetcode:Ugly Number II 【Java】
- LeetCode *** 260. Single Number III
- LeetCode--letter-combinations-of-a-phone-number