#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> Enum; //动态数组,存储完数
vector<int> Gnum; //存储盈数
vector<int> sum; //存储因子
for(int n=2; n<=60; n++)
{
sum.clear(); //每次循环先清空
for(int i=1; i<n; i++)
{
if(n%i==0) //若是因子就存入
{
sum.push_back(i);
}
}
int num=0;
for(int j=0; j<sum.size(); j++)
{
num+=sum[j];
}
if(num==n) //若是完数就存入
{
Enum.push_back(n);
}
else if(num>n) //若是盈数就存入
{
Gnum.push_back(n);
}
}
cout << 'E' << ':' << ' ';
for(int m=0; m<Enum.size(); m++)
{
cout << Enum[m] << ' ';
}
cout << endl;
cout << 'G' << ':' << ' ';
for(int n=0; n<Gnum.size(); n++)
{
cout << Gnum[n] << ' ';
}
}
// 64 位输出请用 printf("%lld")
#考研复试机试上机个人解析##考研#