c语言-求完数以及作甚完数

c语言--求完数以及何为完数

完数又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身

如6,他除自身之外的约数有:1 2 3  ,1+2+3=6,所以6就是一个完数;

#include <stdio.h>

int main(int argc, char* argv[])

{

    int i,j,s,sum;

sum=0;

for(i=2;i<=1000;i++)

{

s=0;

for(j=1;j<i;j++)

{

if(i%j==0)    //这一块是如果能够整除,那么就是该数的因子,我们累加起来

{

s+=j;

}

}

if(s==i)      //因子的和与原数比较,如果正确就输出

{

printf("%d\n",i);

sum++;

}

}

printf("完数的个数:%d\n",sum);


      return 0;

}