代码12行有判断语句了为啥还会输出24为完全数?
输出值:
6,its factors are 1 2 3
24,its factors are 1 2 3 4 6 8 12
28,its factors are 1 2 4 7 14
496,its factors are 1 2 4 8 16 31 62 124 248
#include<stdio.h>
int main()
{
int i,n,x,sum;
for(x=2;x<=1000;x++)
{
sum=0;
for(i=1;i<=x;i++)
{
if(x%i==0)
sum=sum+i;
if(sum==x)
{
printf("%d,its factors are ",x);
for(i=1;i<=x;i++)
{
if(x%i==0&&i!=x)
printf("%d ",i);
}
printf("\n");
}
}
}
return 0;
}