#include <iostream> #include <cstdlib> #include <time.h> using namespace std;
int random(int a , int b) { int p,m=1; //m用来保存2^p for(p=0 ; m-1<b-a ; p++) //p是二进制位数 { m *= 2; //再用m保存十进制的值 }
m = rand()%2;
for(int i=0 ; i<p-1 ; i++) { m = m*2+rand()%2; }
if(m > b-a) { return random(a , b); } else { return m+a; } } int main() { int a,b; cin >> a >>b;//输入3和7 srand(time (0) ); int m; int three , four , five , six , seven;//这几个变量用来统计3,4,5,6,7出现次数 three = four = five = six = seven=0; for(int i=0 ; i<1000 ; i++) { m = random(a , b); cout << m << endl; switch(m) { case 3: three++;break; case 4: four++;break; case 5: five++;break; case 6: six++;break; case 7: seven++; default:break; } } cout << three << ' ' << four << ' ' << five << ' ' << six << ' ' <<seven;