LeetCode - 507 -完美数 - Java - 两种解法

LeetCode - 507 -完美数 - Java - 两种解法,第1张

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;
    }
}

代码细节


第二种解法 - (数学)

我可以很认真的告诉你,我不会!
是力扣第二个的题解,我是看不懂这个公式。但是!感觉很牛皮!

.

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5685870.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存