输出1000以内的所有完数及其因子
编写程序,输出1000以内的所有完数及其因子,所谓完数是指一个整数的值等于它的因子之和,例如6的因子是1,2,3.而6=1+2+3,故6是一个完数。大家帮帮忙
程序代码:
/*
自己作的一个小程序,也经历了一些小问题,但总算解决了。
这个事例告诉我自己:虽然明白了道理,但也要去实践,许多看似明白的东西,到了实践中才知道其实根本没明白。
程序是写出来的,不是要出来的,也不是教出来的。
希望LZ能学好程序,与你共勉!
*/
#include<stdio.h>
#define N 100
int main(void)
{
int i,j,k=0,yinzi[N];
for(i=2;i<1001;i++)
{
yinzi[99]=0;
for(j=1;j<i;j++)
if(i%j==0)
yinzi[k++]=j;
for(j=0;j<k;j++)
yinzi[99]+=yinzi[j];
if(i==yinzi[99])
{
printf("%d是完数,它的因子分别为:\n",i);
for(j=0;j<k;j++)
printf("%d\n",yinzi[j]);
}
k=0;
}
getch();
}