题解 | #完数VS盈数#
完数VS盈数
https://www.nowcoder.com/practice/ccc3d1e78014486fb7eed3c50e05c99d
#include <iostream>
#include <vector>
#include <cstdio>
using namespace std;
int shu(int i){
int sum = 1;
for(int j = 2;j < i; ++j){
if(i % j == 0) sum+= j;
}
return sum;
}
int main() {
vector<int> vec1;
vector<int> vec2;
for(int i = 2; i <= 60; ++i){
if(shu(i) == i) vec1.push_back(i);
else if (shu(i) > i) vec2.push_back(i);
}
printf("E:");
for(vector<int>::iterator it=vec1.begin();it != vec1.end(); ++it){
printf(" %d", *it);
}
printf("\n");
printf("G:");
for(vector<int>::iterator it=vec2.begin();it != vec2.end(); ++it){
printf(" %d", *it);
}
printf("\n");
return 0;
}
