求完数

 1 include<stdio.h>
 2 int main()
 3 {
 4     int a, b, d;
 5     for (d = 1; d <= 1000; d++)
 6     {
 7         a = 0;
 8         for (b = 1; b <= d / 2; b++) //对于某一整数来说,其最大因子为n/2 (若n为偶数时,若为奇数最大因子小于n/2)
 9         if (d%b == 0) //遍历1-这个整数如果能除尽则这个数为因子
10             a += b;
11         if (a == d) //把这个因子累加等于那一整数就为完数
12         {
13             for (b = 1; b <= d / 2; b++) //重新遍历输出因子
14             if (d%b == 0)
15                 printf("%d\t", b);
16             printf("It's a perfect number:%d\n", d); //输出完数
17         }
18     }
19 
20     return 0;
21 }

 

posted @ 2020-03-14 20:25  新生代农民工  阅读(203)  评论(0)    收藏  举报