題目描述:上一篇/kf/201412/363600.html
一個數如果恰好等於它的各因子(該數本身除外)子和,如:6=3+2+1。則稱其為“完數”;若因子之和大於該數,則稱其為“盈數”。
求出2到60之間所有“完數”和“盈數”。
題目沒有任何輸入。
輸出:輸出2到60之間所有“完數”和“盈數”,並以如下形式輸出:
E: e1 e2 e3 ......(ei為完數)
G: g1 g2 g3 ......(gi為盈數)
其中兩個數之間要有空格,行尾不加空格。
#include
#include
int main()
{
int e[20]={0};
int g[20]={0};
int i=0,j=0,v=0,u=0;
int a,b;
for(b=2;b<=60;b++)
{
a=0;
for(i=1;ib)
{
g[v++] = b;
}
else if(a==b)
{
e[u++] = b;
}
}
printf("E: ");
for(i=0;i
<u;i++) {="" if(i!="0)" printf("="" ");="" printf("%d",e[i]);="" }="" printf("\ng:="" for(i="0;i<v;i++)" printf("%d",g[i]);="" printf("\n");="" return="" 0;="" **************************************************************="" problem:="" 1060="" user:="" vhreal="" language:="" c="" result:="" accepted="" time:0="" ms="" memory:908="" kb="" ****************************************************************=""