简单模拟,注意格式。。。

代码:

#include<iostream>
using namespace std;
int a[65][3];
void init(){
    for(int i=2;i<=60;++i){
        a[i][2]++;
        for(int j=2;j*j<=i;++j){
            if(i%j==0){
                a[i][2]+=j;
                if(j!=i/j) a[i][2]+=i/j;
            }
        }
    }
}
int e[60],g[60],cnte,cntg;
int main(){
    init();
    for(int i=2;i<=60;++i){
        if(a[i][2]>i) g[++cntg]=i;
        else if(a[i][2]==i) e[++cnte]=i;
    }
    printf("E: ");
    for(int i=1;i<=cnte;++i) printf("%d ",e[i]);
    printf("\nG: ");
    for(int i=1;i<cntg;++i) printf("%d ",g[i]);
    printf("%d",g[cntg]);
}