#include<stdio.h>
#include<math.h>
int main()
{
int a,b,c,d;
a=1;
b=1;
d=0;
while(a<=5000)
{while(b<=(a-1))
{c=a%b;
if(c=0)
{d=d+b;
b=b+1;}
else
b=b+1;}
if(a=d)
{printf("%d",a);
a=a+1;}
else
a=a+1;}
return 0;
}
这是自己编的一个但是错误好像有点大QAQ
#include<stdio.h>
#include<math.h>
int main()
{
int a, b, c, d;
a = 1;
b = 1;
d = 0;
while (a <= 5000)
{
while (b <= (a - 1))
{
c = a%b;
if (c == 0)
{
d = d + b;
b = b + 1;
}
else
b = b + 1;
}
if (a == d)
{
printf("%d\n", a);
a = a + 1;
}
else
a = a + 1;
b = 1;
d = 0;
}
return 0;
}
我改了一下你的代码,看看吧, 这样就行了