2021-4-7 如何用rand5实现rand3和rand7

因为这道题挂了我腾讯的初面!!!

#include<bits/stdc++.h>
using namespace std;
void fun1(vector<int> & count1);
void fun2(vector<int> & count2);

int main(){
vector<int> count1(7);
vector<int> count2(3);
srand((unsigned)time(NULL));
int n1;
cin>>n1;
while(n1--){
fun1(count1);
}

int n2;
cin>>n2;
while(n2--){
fun2(count2);
}

for(auto x:count1){
cout<<x<<"  ";
}
cout<<endl;
for(auto y:count2){
cout<<y<<"  ";
}
cout<<endl;
return 0;

}

void fun1(vector<int> & count1){
        int res;
        do{
        res=(rand()%5)*5+rand()%5+1;
        }
        while(res>21);
        count1[res%7]++;
}
void fun2(vector<int> & count2){
        int res;
        do{
        res=(rand()%5)*5+rand()%5+1;
        }
        while(res>21);
        count2[res%3]++;
		}

posted @ 2021-04-07 16:18  shenlei_blog  阅读(277)  评论(0)    收藏  举报