#include <iostream> using namespace std; const int N=60; int w[N],y[N]; int index_w,index_y; bool is_wanshu(int x,bool &flag){//&会改变传过来的参数 int sum=1; for(int i=2;i<x;i++){ if(x%i==0) sum+=i; } if(sum==x) return true; if(sum>x) flag=true; return false; } int main() { for(int i=2;i<=60;i++){ bool flag=false; if(is_wanshu(i,flag)) w[index_w++]=i; else { if(flag) y[index_y++]=i; } } cout<<"E: "; for(int i=0;i<index_w;i++) cout<<w[i]<<" "; cout<<endl; cout<<"G: "; for(int i=0;i<index_y;i++) cout<<y[i]<<" "; } // 64 位输出请用 printf("%lld")