题目:编算法找出1000以内所有完数
例如,28的因子为1、2、4、7,14,而28=1+2+4+7+14。因此28是“完数”。编算法找出1000之内的所有完数,并按下面格式输出其因子:28 it’s factors are 1,2,4,7,14。
#include<stdio.h>
int main( )
{
int i,k,j,s,a[20]={0};
for(i=1;i<=1000;i++)
{
s=1; //两个赋初值语句s=1,k=0
k=0; //一定要位于外部循环的内部*/
for(j=2;j<i;j++)
if(i%j==0)
{
s=s+j;
a[k]=j;
k++;}
if(i==s)
{
printf("%5d, it’s factors are : 1",s);
for(j=0;j<k;j++)
printf("+%d",a[j]);
printf("\n");
}
}
return 0;
}