- 题目
- 解题思维一:
- 代码如下:
- 代码细节
- 第二种解法 - (数学)
解题思维一:
这题的关键就在于:如何获取一个正整数的所有正因数。
我的想法是这样的:
代码如下:
class Solution { public boolean checkPerfectNumber(int num) { if(num == 1){// 1 肯定不是完美数,除去本身,什么也没有 return false; } int sum = 1; // num > 1 :num正因子中肯定是有1的(1 * num == num) for(int i = 2; i * i <= num; i++){ if(num % i == 0){ sum += i; if( i * i < num){ sum += num/i; } } } return sum == num; } }代码细节
第二种解法 - (数学)
我可以很认真的告诉你,我不会!
是力扣第二个的题解,我是看不懂这个公式。但是!感觉很牛皮!
.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)