思路:遍历求因子之和
class Solution {
public:
bool checkPerfectNumber(int num) {
if(num == 1){
return false;
}
int e = sqrt(num);
int an = 0;
for(int i = 2; i <= e; i ++){
if(num % i == 0){
an += i;
if(num != e){
an += num/i;
}
}
// cout << an << " " << i << endl;
}
an++;
if(an == num)
return true;
return false;
}
};