boolcheckPerfectNumber(int num) {
set<int> s;
int ans =0;
for (int i =1; i < num /2; i++) {
if (num % i ==0) {
s.insert(i);
s.insert(num / i);
}
}
for (constauto&item: s) {
cout << item << endl;
ans += item;
}
ans = ans - num;
return ans == num;
}
1
2
3
4
5
6
7
8
boolcheckPerfectNumber(int num) {
if (num ==1) return false;
int ans =1;
for (int i =2; i <= num / i; i++) {
if (num % i ==0) ans += i + num / i;
}
return ans == num;
}