求0-1000的完数,一个数如果恰好等于它的因子之和,这个数就称为“完数。帮忙改下程序!谢谢啦!
#include<stdio.h>int yinzi(int i)//求因子之和
{
int j,s;s=0;
for(j=2;j<=i;j++)
{if(i%j==0){
do{
i=i/j;
}while(i%j==0);
s=s+j;}
}
s=s+1;
return s;
}
int main()
{
int i,s;
for(i=2;i<=1000;i++)
{
s=yinzi(i);
if(i==s)printf("%d ",i);
}
return 0;
}