一个数如果恰好等于它的因子之和,这个数称为“完数”,如6的因子为1,2,3,而6=1+2+3,因此6为完数。

2024-11-08 03:36:10
推荐回答(2个)
回答1:

#include 
int main()
{
int n,temp,sum; /*n表示要判断的数,temp表示因子,sum表示因子之和*/ 
for(n=1;n<1000;n++) 
{
sum= 0;
for(temp=1;temp {
if(n%temp==0) /*判断n能否被temp整除,能的话temp即为因子*/ 
{
sum=sum+temp; /*求因子之和*/ 
}
}
if(sum==n) /*判断此数是否等于因子之和*/ 
{
printf("%d its factors are ",n);
for(temp=1;temp {
if(n%temp==0)
{
printf("%d ",temp);
}
}
printf("\n");
}

}
return 0;
}

回答2:

  1. 把if(n%temp==0)
    {
    printf("%d",temp);
    printf("\n");
    }删除。

  2. 把printf("%d its factors are ",n);改成printf("%d its factors are\n",n);。