一个数如果恰好等于它的因子之和,这个数被成为”完数”,例如:6=1+2+3.请编程找出1000以内的完数

此题只要把一个数的除本身之外的因子之和与他本身比较,若是相等就是“完数”

  1 #include <stdio.h>
  2 
  3 int main()
  4 {
  5     int i,j,p,sum;
  6     for(i=2;i<=1000;i++)
  7     {   p=sum=0;
  8         for(j=1;j<i;j++)
  9         {
 10             if(i%j==0)
 11             {
 12                 sum+=j;
 13             }
 14         }
 15         if(sum==i)
 16             printf("%d ",i);
 17     }
 18     printf("\n");
 19     return 0;
 20 }

猜你喜欢

转载自blog.csdn.net/weixin_42720703/article/details/81187049