【Leetcode】507. Perfect Number

来源:互联网 发布:洛杉矶之战 知乎 编辑:程序博客网 时间:2024/04/28 04:44

思路:

首先0和1都不满足。result初始化为num。

依次寻找num的每个因子i,若i不是完全平方数的两个平方根因子且不为1,result减去 i 及num / i,否则result只减i即可。

public class Solution {    public boolean checkPerfectNumber(int num) {        if (num == 0 || num == 1)            return false;        int result = num;        for (int i = 1; i * i <= num; i++) {            if (num % i == 0) {                if (i * i != num && i != 1)                    result = result - i - num / i;                else                     result = result - i;            }        }        if (result == 0)            return true;        return false;    }}

Runtime:15ms

1 0
原创粉丝点击