判断某个数是否等于某个连续正整数序列之和.\C二级
题目:函数fun的功能是:判断输入的任何一个正整数n,是否等于某个连续正整数序列之和。若是,则输出所有可能的序列。否则输出“不能分解”。
例如:当输入100时,输出:
100=9+10+11+12+13+14+15+16
100=18+19+20+21+22
1 #include <stdio.h> 2 void fun( int n ) 3 { int j, b, c, m, flag=0; 4 for (b=1; b<=n/2; b++) { 5 /**********found**********/ 6 m = n; 7 c = b; 8 while (m !=0 && m>=c) { 9 /**********found**********/ 10 m = m - c; c++; 11 } 12 /**********found**********/ 13 if ( m==0) 14 { printf("%d=", n); 15 for (j=b; j<c-1; j++) printf( "%d+", j ); 16 printf("%d\n", j); 17 flag=1; 18 } 19 } 20 if(flag==0) 21 printf("不能分解\n"); 22 } 23 main() 24 { int n; 25 printf("请输入一个整数 : "); scanf("%d", &n); 26 fun(n); 27 } 28 29

浙公网安备 33010602011771号