C语言编程问题(输出1000以内所有完数)

2024-12-28 04:43:25
推荐回答(2个)
回答1:

#include
int
main()
{
int
n,i,sum;
sum=0;
for(n=2;n<=1000;n++)
{
sum=0;
//这里需要每次都为0
否则保留了上次的值。
for(i=1;iif(n%i==0)
sum=sum+i;
if(sum==n)
printf("%d
",n);
}
return
0;
}

回答2:

#include;
int
main()
{
int
n,i,sum;
sum=0;
for(n=2;n<;=1000;n++)
{
sum=0;
//这里需要每次都为0
否则保留了上次的值。
for(i=1;i<;n;i++)
if(n%i==0)
sum=sum+i;
if(sum==n)
printf("%d
",n);
}
return
0;
}