题解 | #完全数计算#
完全数计算
https://www.nowcoder.com/practice/7299c12e6abb437c87ad3e712383ff84
#include <iostream>
using namespace std;
bool is_perfect_num(int& num) {
int sum = 0;//用于进行约数加和
for (int i = 1; i < num; i++) {
if (num % i == 0) {
sum += i;
}
}
if (sum == num) {
return true;
} else {
return false;
}
}
int count_perfect_num(int& n) {
int count = 0; //对完美数进行加和
for (int i = 1; i < n; i++) {
if (is_perfect_num(i)) {
//cout << "perfect_num =" << i << endl;
count++;
}
}
return count;
}
int main() {
int n;
cin >> n;
cout << count_perfect_num(n) << endl;
return 0;
}
// 64 位输出请用 printf("%lld")


