void getCombine(int* aux, int num, int indx, int val)
{
if(num<indx)//输入参数检测。
return;
if(indx==val)
{
aux[indx]=1;//将最后一个数添加进去
for(int i=1;i<=indx;i++)//遍历所有之前的数,输出
{
if(aux[i]==1)
cout<<i<<' ';
}
cout<<endl;
}
else if(indx>val)
return;
else
{
aux[indx]=0;
getCombine(aux, num, indx+1, val);
aux[indx]=1;
getCombine(aux, num, indx+1, val-indx);
}
}
void findCombine(int num,int val)
{
int * aux=new int[num+1];//辅助数组标记是否取值。
getCombine(aux,num,1,val);
}