4,打印1~n之间的盈数

 

盈数(又称丰数过剩数abundant number)是一种特殊的自然数,除去它本身以外的一切正约数的和大于它本身。(12是最小的盈数,945是最小的奇盈数)

 1 int test4(int num){
 2     int i=2;
 3     for(i; i<=num; i++){
 4         if(test4_1(i))
 5             printf("%d\t",i);
 6     }
 7     return 0;
 8 }
 9 int test4_1(int n){
10     int sum = 0;
11     int n_1 = n/2 ;
12     int i=2;
13     for(i;i<=n_1; i++){
14         if(n % i == 0)
15             sum += i;
16     }
17     return sum>n;
18 }

 

posted @ 2020-07-03 12:39  鱹鱹  阅读(364)  评论(0编辑  收藏  举报