#include<cstdio>
#include<vector>
#include<stdlib.h>
using namespace std;
int Sum(int i){//定义一个求和函数,输入变量是i(即题目里规定的在2到60之间的数)
	int sum =0;//初始值sum为0,因为要录入第一个因子又要初始化
	for (int j = 1; j < i; ++j){//不断地给定的i循环迭代
		if(i%j==0){//因子满足的条件是整除
			sum=sum+j;//因子求和
		}
	}
	return sum;//返回求和的值
}
int main(){
	vector<int> Evec;//完数动态数组
	vector<int> Gvec;//盈数动态数组
	for (int i = 2; i <= 60; ++i){//循环迭代
		if(i==Sum(i)){//完数的判定条件
			Evec.push_back(i);//将这个完数推入数组
		}
		else if(i<Sum(i)){//盈数判定条件
			Gvec.push_back(i);//将这个盈数推入数组
		}
	}
	printf("E:");
	for (unsigned i = 0; i < Evec.size(); ++i){//循环打印完数
		printf(" %d",Evec[i]);
	}
	printf("\n");
	printf("G:");
	for (unsigned i = 0; i < Gvec.size(); ++i){//循环打印盈数
		printf(" %d",Gvec[i]);
	}
	printf("\n");
	system("pause");
}