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