一個簡單的雙色球演算法
阿新 • • 發佈:2019-01-22
雙色球的規則:從1-33中選取六個紅球,從1-16中選取1個籃球
#include <iostream> #include <vector> #include <ctime> #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<int> red; vector<int> blue; vector<int>::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)<<endl; return 0; }