|
10鱼币
本帖最后由 hamletroy 于 2022-10-20 09:59 编辑
怎么用循环知识解答这道题?求帮助!!!
本帖最后由 jackz007 于 2022-10-20 17:00 编辑
- #include <stdio.h>
- int main(void)
- {
- int d[500] , i , k , n , s ;
- for(n = 2 ; n < 1001 ; n ++) {
- for(i = 2 , k = d[0] = 1 ; i < n ; i ++) if(! (n % i)) d[k ++] = i ;
- for(i = s = 0 ; i < k ; i ++) s += d[i] ;
- if(s == n) {
- printf("%3d = %d" , n , d[0]) ;
- for(i = 1 ; i < k ; i ++) printf(" + %d" , d[i]) ;
- printf("\n") ;
- }
- }
- }
复制代码
运行实况:
- D:\[00.Exerciese.2022]\C>g++ -o x x.c
- D:\[00.Exerciese.2022]\C>x
- 6 = 1 + 2 + 3
- 28 = 1 + 2 + 4 + 7 + 14
- 496 = 1 + 2 + 4 + 8 + 16 + 31 + 62 + 124 + 248
- D:\[00.Exerciese.2022]\C>
复制代码
|
|