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]++;
}
浙公网安备 33010602011771号