焦煤双创基地招聘:用C语言写程序

来源:百度文库 编辑:神马品牌网 时间:2024/04/27 22:16:16
打印出1000以内的所有完数,所谓“完数”是指一个数恰好等于它的因子之和。例如,6是一个完数,因为6=1+2+3。

#include<stdio.h>
main()
{int i,n,sum=0;
for(n=1;n<=1000;n++)
{for(i=1;i<=n/2;i++) if(n%i==0) sum+=i;
if(sum==n) printf("%d ",n);
sum=0;
}
}
结果:6 28 496

以下是一个求任意输入的n范围内的所有完数,以及它们的因子的程序
理解了这个程序,原程序就轻而易举了。

main()
{static int a[20];
int x,i,j,s,k,m;
scanf("%d",&x);
for(i=6;i<=x;i++)
{s=i;k=-1;
for(j=1;j<i;j++)
{if((i%j)==0)
{k++;a[k]=j;s=s-j;}
}
if(s==0)
{printf("%d,its factors are:",i);
for(m=0;m<k;m++) printf("%d,",a[m]);
printf("%d\n",a[k]);
}
}
}