一个简单的双色球算法

参考:http://blog.csdn.net/wzy_1988/article/details/24177085

双色球的规则:从1-33中选取六个红球,从1-16中选取1个篮球

#include 
#include 
#include 
#define mx 33
using namespace std;

int main()
{
	//以时间作为种子,用于产生随机数
	struct tm * tim=new struct tm;
	tim->tm_year=114;
	tim->tm_mon=3;
	tim->tm_mday=24;
	tim->tm_hour=21;
	tim->tm_min=30;
	tim->tm_sec=0;
	time_t t1=mktime(tim);
	time_t *t2=&t1;
	vector red;
	vector blue;
	vector::iterator it;
	int i,temp;
	srand(time(t2));
	//取六个红球
	for(i=0;i<6;i++)
	{
		temp=rand()%mx+1;
		it=red.begin();
		while(it!=red.end())
		{
			if((*it)==temp)
				break;

			it++;
		}
		if(it==red.end())
			red.push_back(temp);
		else
		{
			i--;
			continue;
		}
	}
	//取一个蓝球
	temp=rand()%16+1;
	blue.push_back(temp);
	for(it=red.begin();it!=red.end();it++)
	{
		cout<<(*it)<<" ";
	}
	it=blue.begin();
	cout<<(*it)<


你可能感兴趣的:(算法)