C语言100道经典题目19
栏目分类:C语言教程 发布日期:2022-07-22 浏览次数:次
C 语言经典100例
题目:一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如6=1+2+3.编程找出1000以内的所有完数。
程序分析:请参照:C 练习实例14。
实例
#include<stdio.h>#define N 1000int main(){
int i,j,k,n,sum;
int a[256];
for(i=2;i<=N;i++)
{
sum=a[0]=1;
k=0;
for(j=2;j<=(i/2);j++)
{
if(i%j==0)
{
sum+=j;
a[++k]=j;
}
}
if(i==sum)
{
printf("%d=%d",i,a[0]);
for(n=1;n<=k;n++)
printf("+%d",a[n]);
printf("\n");
}
}
return 0;
}
以上实例输出结果为:
6=1+2+3 28=1+2+4+7+14 496=1+2+4+8+16+31+62+124+248
本文由IT教学网整理发布,转载请注明出处:http://www.clang.cc//jiaocheng/cyuyan/1193.html