版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/KASH_SHADOW/article/details/86592481
一个数如果恰好等于它的各因子(给数本身除外)和,如:6=3+2+1,则称其为“完数”;若因子之和大于该数,则称其为“盈数”。
记完数为E,盈数为G
#include<iostream>
using namespace std;
int f(int num){
int i,sum=0;
for(i=1;i<num;i++){
if(num%i==0)
sum+=i;
}
return sum;
}
int main(){
int i,j;
char a[1000];
for(i=2;i<=60;i++){
if(i==f(i)) a[i]='E';
if(i<f(i)) a[i]='G';
}
cout<<"E:";
for(i=2;i<=60;i++)
if(a[i]=='E')
cout<<i<<" ";
cout<<endl;
cout<<"G:";
for(i=2;i<=60;i++)
if(a[i]=='G')
cout<<i<<" ";
return 0;
}