题解 | #完数VS盈数#
完数VS盈数
https://www.nowcoder.com/practice/ccc3d1e78014486fb7eed3c50e05c99d
#include<cstdio>
#include<vector>
int sumYingzi(int n) {
int sum = 0;
for (int j = 1 ; j < n ; ++j) {
if (n % j == 0) {
sum = sum + j;
}
}
return sum;
}
using namespace std;
int main() {
vector<int> wanshu;
vector<int> yingshu;
for (int i = 2 ; i < 61 ; ++i) {
if (i == sumYingzi(i)) {
wanshu.push_back(i);
} else if (i < sumYingzi(i)) {
yingshu.push_back(i);
}
}
printf("E:");
for (unsigned i = 0 ; i < wanshu.size(); ++ i) {
printf(" %d", wanshu[i]);
}
printf("\n");
printf("G:");
for (unsigned i = 0 ; i < yingshu.size(); ++ i) {
printf(" %d", yingshu[i]);
}
printf("\n");
}
