首页 > 试题广场 >

一个数如果恰好等于它的因子之和,则这个数就是“完数”。例如,

[问答题]
一个数如果恰好等于它的因子之和,则这个数就是“完数”。例如,6的因子为1、2、3,则6=1+2+3,因此6是“完数”。编程序找出1000之内的所有完数,并按下面格式输出其因子:
6    its factors    are    1,2,3
推荐
main()
{ int m,s,i;
 for(m=2;m<1000;m++ )
   {s=0;
    for (i=1;i<m;i++)
     if((m%i)= =0)s+ =i;
     if(s= =m)
        { printf("%d its factors are ",m);
         for(i=1;i<m;i++ )
     if(m%i= =0) printf("%d,".i);
        printf("\b");
        printf("\n");
            }
      }   
} 
运行结果:
6        its     factors   are      1,2,3
28      its     factors   are       1,2,4,7,14
496    its    factors    are    1,2,4,8,16,31,62,124,248
发表于 2018-08-14 20:49:03 回复(0)