[求助] 完数
思路应该没问题,怎么得不到正确答案#include "stdio.h"
int panduan(int k)
{
int i,n,sum=0;
n=k;
for(i=2;i<=n;i++)
while(n!=i)
{
if(n%i==0)
{
sum+=i;
n=n/i;
}
else
break;
}
sum=1+n+sum;
printf("%d",sum);
if(sum==k)
return 1;
else
return 0;
}
main()
{
int j;
for(j=1;j<100;j++)
if(panduan(j))
printf("%4d\t",j);
getch();
}