1. 编程学习网 > 编程教程 > C语言教程 > C语言100道经典题目19

C语言100道经典题目19

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

联系我们

在线咨询:点击这里给我发消息

咨询电话:400-998-2681

工作时间:7*24小时无休