常见的彩票号码都是由一些数字组成的,生成彩票的号码其实就是将所有的数字进行不同的组合。例如,假设有一种彩票,每注由7个1-29的数字组成,且这7个数字不能相同,编写程序生成所有的号码组合:
#include<iostream>
#include<windows.h>
#define num 7
#define max 20
using namespace std;
int temp[max];
int con[num];
void resort(int a,int b);
int main()
{
for(int i=0;i<max;i++)
temp[i]=i+1;
for(int i=0;i<num;i++)
con[num]=0;
resort(num,max);
return 0;
}
void resort(int a,int b)//a代表8
{
for(int i=b;i>=a;i--)
{
con[a-1]=temp[i-1];
if(a>1)
{
resort(a-1,i-1);
}
else
{
for(int i=num-1;i>=0;i--)
cout<<con[i]<<" ";
system("PAUSE");
cout<<endl;
}
}
}