Advertisement
bartekltg

pok

Aug 16th, 2022
702
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.98 KB | None | 0 0
  1. #include <iostream>
  2. #include <random>
  3. #include <algorithm>
  4.  
  5. using namespace std;
  6.  
  7.  
  8. constexpr size_t N = 1000000000;
  9.  
  10. int main(){
  11.     random_device rd;
  12.     mt19937 gen(rd());
  13.  
  14.     vector <int_fast8_t>  talia(9+38);
  15.     generate(begin(talia),end(talia),[n=0]()mutable{ return (n++)<9?1:0 ;});
  16.  
  17.     vector <size_t> wins(10,0);
  18.     size_t cel = 1000;
  19.  
  20.     constexpr double ex =  1.0-38.0*37.0/(46.0*47.0);
  21.  
  22.     for (size_t i=0; i<=N; i++){
  23.  
  24.         std::shuffle(begin(talia),end(talia),gen);
  25.  
  26.         for (int gracz=0; gracz<10; gracz++){
  27.             if (talia[2*gracz]==1 || talia[2*gracz+1]==1)
  28.                 wins[gracz]++;
  29.         }
  30.  
  31.         if (i==cel){
  32.             cout<<i<<" ";
  33.             for (int gracz=0; gracz<10; gracz++){
  34.                 cout<<wins[gracz]/(double)i<<" ";
  35.             }
  36.             double err = 3.0*sqrt( ex*(1-ex)/i );
  37.             cout<< "  ["<<ex-err<<" ,"<<ex+err<<"]\n";
  38.             cel*=10;
  39.         }
  40.  
  41.  
  42.     }
  43.  
  44.     return 0;
  45. }
  46.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement