输入两个整数 n 和 m,从数列1,2,3.n 中 随意取几个数

输入两个整数 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 );
}