完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。如果一个数恰好等于它的因子之和,则称该数为“完全数”。第一个完全数是6,第二个完全数是28,第三个完全数是496。
程序算法:
1. 设变量:一个循环变量从6到1000循环;设一个数组记录循环数全部的因子。
2. 变量之间关系:如果循环数等于数组记录全部因子之和,则是完全数。
3. 编写程序
4. 运行。
程序源代码(TURBO C)
# include <stdio.h>
int main()
{
int i,j,m,x=1,y,k[13]={0};
for (i=6;i<1000;i++)
{
m=0;for (j=2;j<=i/2;j++)
if (i%j==0) k[m++]=j;x=1;
for (j=0;j<m;j++) x+=k[j];
if (i==x) {
printf("nnn%d=",i);
printf("1");
for (j=0;j<m;j++)
printf("+%d",k[j]);
for (j=0;j<13;j++) k[j]=0;
printf("nnnn");
}
}
return 0;}
运行结果: