完全数,怎么不行呢
输出1000内的完全数,我的算法有错误吗?
main()
{
int i;
for(i=1;i<=1000;i++)
printf("%d ",perfect(i));
getch();
}
int perfect(int i)
{
int j,k=0;
for(j=1;j<=i/2;j++)
{
if(i%j==0)
k=k+j;
}
if(k==i)
return i ;
}