编写程序.编程找出1000之内的所有完数,输出其因子。

2025-06-21 10:30:32
推荐回答(2个)
回答1:

#include 

int main() 

int m,i,s; 

for(m=2;m<=1000;m++) //穷举所有的数 

{s=1; //

for(i=2;i<=m/2;i++) //穷举数m可能的因子 

if(m%i==0)s+=i;

if(s==m)

{printf("%d=1",m);

for(i=2;i<=m/2;i++)

if(m%i==0)printf("+%d",i);

printf("\n");   

}

return 0;

}

回答2:

#include
int main ( )
{
int m,i,s;
for(m=1;m<=1000;m++)
{
s=0;
for(i=1;i<=m/2;i++)
if(m%i==0)
s+=i;
if(m==s)
printf("%d\n",m);
}
}
return 0;
}