输入两个整数 n 和 m,从数列1,2,3.......n 中 随意取几个数,
bool next[21];void fun_fenzhi(int n, int sum){if(n<=0 || sum<=0)return;if(n < sum){next[n]=true;fun_fenzhi(n-1,sum-n);next[n]=false; fun_fenzhi(n-1,sum);}else if(n == sum){next[n]=true;//print_arr(next);count++;next[n]=false;fun_fenzhi(n-1,sum);}else if(n > sum){next[n]=false;fun_fenzhi(n-1,sum);}}void testfun_fenzhi(){memset(next,false,10);clock_t start1 = clock(); fun_fenzhi(20,100);clock_t end1 = clock(); long acc1 = (end1 - start1); cout<<count<<endl;printf("average time is %d\n", acc1 / 10 );}