LeetCode – 507 -完美数 – Java – 两种解法
文章目录
题目
解题思维一:
这题的关键就在于:如何获取一个正整数的所有正因数。
我的想法是这样的:
代码如下:
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;
}
}
代码细节
第二种解法 - (数学)
我可以很认真的告诉你,我不会!
是力扣第二个的题解,我是看不懂这个公式。但是!感觉很牛皮!
.
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
二维码