题解 | #完全数计算#
完全数计算
https://www.nowcoder.com/practice/7299c12e6abb437c87ad3e712383ff84
#include <iostream>
#include<vector>
using namespace std;
bool perfect(int n) { //判断该数是否为完全数
vector<int> a;
if (n == 1) return false;
for (int i = 1; i < n; i++) {
if (n % i == 0) {
a.push_back(i);
}
}
int sum = 0;
for (int i = 0; i < a.size(); i++) {
sum += a[i];
}
if (sum == n) return true;
else return false;
}
int main() {
int n;
cin >> n;
int sum = 0;
for (int i = 1; i <= n; i++) {
if (perfect(i)) {
sum++;
}
}
cout << sum;
return 0;
}
查看4道真题和解析