输出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(); }