#include <iostream> #include <cstdio> #include <string> using namespace std; //陈独秀的代码 // int main(){ // printf("E: 6 28\nG: 12 18 20 24 30 36 40 42 48 54 56 60"); // } int main(){ // int arr[]={1,2,3,5,7,11,13,17,19,23};//4也是因子 //#1 int a[61][30]; //#2 int sum[60]; int e[60]; int g[60]; int m=0; int n=0; for(int i=2;i<=60;++i){//这里想让i从1-60,必须a的长度为6!!!!!!!!!!!!!!! //# int k=0;//随每个i变化,初始化应该在循环里 //#3 for(int j=1;j<=30&&j<i;++j){ if(i%j==0){ a[i][k]=j; ++k; } } sum[i]=0; for(int p=0;p<k;++p){ sum[i]+=a[i][p]; } if(sum[i]==i) { e[m]=i; ++m; }else if(sum[i]>i){ g[n]=i; ++n; } } printf("E:"); for(int i=0;i<m;++i){ printf(" %d",e[i]); } printf("\n"); printf("G:"); for(int i=0;i<n;++i){ printf(" %d",g[i]); } }