題目描述:上一篇/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="" ****************************************************************=""