會C語言編程的進
80
一個數如果剛好與它所有的因子之和相等,則稱該數為一個"完數",如:6=1+2+3,則6就是一個完數。求出1000以內的完數的個數。
最佳回答:
int i,j,m=0,x=0,s,a[100];
for(i=2;i<1000;i++)
{s=0;j=0;x=0;
while(++j<i)
{if(i%j==0)
{s=s+j;
a[x++]=j;}}
if(s==i)
{printf("%d=",i);
for(m=0;m<x;m++)
{printf("%d",a[m]);
if(m!=x-1)
printf("+");}
printf("\n");
}}