编写一个排列组合程序

本人编程小白,求教各位达人:问题描述如下:双色球彩票,红色球六位(1-33),蓝色球一位(1-16),为一注。
现在预测下一期:红球第一位:1、2、3、4、6、8、10
红球第二位:3、4、8、13、14
红球第三位:14、15
红球第四位:14、15、16、19、20、21
红球第五位:20、21、22、23、24、25、26、27、28、29、30、31、32、
红球第六位:25、26、27、28、30、31、33
蓝色球:8
意思是红球第一位要从1、2、3、4、6、8、10 这七个数字中选择一个,红球第二位要从3、4、8、13、14这五个数字中选择一个。三四五六位依次类推。
问题是:写一个程序,要求a:第一位数字<(注:小于号)第二位数字<第三位数字<第四位数字<第五位数字<第六位数字.(例如:如果红球第二位选择了4,那么红球第一位就不能再选择4、6、8、10这几个数字了)。要求b:以上数字符合要求a的所有排列组合。(例如:1+13+14+16+27+33+8)
多谢了!
没人帮忙吗

CTestPermutation::~CTestPermutation()
{
cout<<">>>>>>>>>>>>>>>>>>>>>>>>CTestPermutation::~CTestPermutation()"<<endl;
}

void CTestPermutation::DoTest()
{
cout<<"-------将N个数进行排列组合-------"<<endl<<endl;
vector<int> vecNums,vecPermutated;
cout<<"示例数据:";
for(int i = 1; i < 5;i++)
{
vecNums.push_back(i);
cout<<i<<" ";
}
cout<<endl;
cout<<"排列组合结果:"<<endl;
Permutation(vecPermutated,vecNums);

}追问

谢谢您的回答,本人确实对这些一窍不通,您能把以上数据代入后所生成的所有组合发过来吗?不胜感激!

温馨提示:答案为网友推荐,仅供参考