7.Perfect Number

时间:2017-04-09 22:38:07   收藏:0   阅读:114

Description:

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.

 

解题思路:

  直接求出所有约数然后相加,结果与目标数字相等即可。

class Solution {
public:
    bool checkPerfectNumber(int num) {
        if(num==1 || num<=0) return false;
        int sum=1;
        int temp=num;
        for(int i=2;i<temp;i++){
            if(num%i==0){
                sum+=i;
                sum+=num/i;
                temp+=num/i;
            }
        }
        if(num==sum) return true;
        return false;
    }
};

 

原文:http://www.cnblogs.com/sarahp/p/6686762.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!