题解 | #完全数计算#
完全数计算
https://www.nowcoder.com/practice/7299c12e6abb437c87ad3e712383ff84
#include <iostream>
#include <vector>
using namespace std;
bool check(int x){
vector<int> v;
for(int i=1;i<=x/2;i++){
if (x%i==0) {
v.push_back(i);
}
}
int sum=0;
for(auto & i:v){
sum+=i;
}
if(x==sum){
return true;
}
return false;
}
int main() {
int n;
while (cin >> n) { // 注意 while 处理多个 case
int count=0;
for(int i=1;i<=n;i++){
if(check(i)){
count++;
}
}
cout<<count<<endl;
}
}
// 64 位输出请用 printf("%lld")
