本道题算是比较简单的题目吧,做起来比较顺手。 首先创建一个函数,得到它们的因数和。

然后再用两个向量动态添加完数和盈数。 最后再输出就可以啦

#include <iostream>
#include <vector>
#include <cstdio>

using namespace std;

vector<int> numberE;
vector<int> numberG;

int Sum(int x){
    int sum=0;
    for(int i=1;i<x;i++){
        if(x%i==0){
            sum+=i;
        }
    }
    return sum;
}

int main(){
    for(int i=2;i<=60;i++){
        if(i==Sum(i)){
            numberE.push_back(i);
        }else if(i<Sum(i)){
            numberG.push_back(i);
        }
    }
    
    cout<<"E:";
    for(int i=0;i<numberE.size();i++){
        cout<<" "<<numberE[i];
    }
    cout<<endl;
    cout<<"G:";
    for(int i=0;i<numberG.size();i++){
        cout<<" "<<numberG[i];
    }
    
    return 0;
}