fork download
  1. #include <vector>
  2. #include <iostream>
  3. #include <iomanip>
  4. #include <algorithm>
  5.  
  6. using namespace std;
  7.  
  8. double experiment(int n, int m, int k, int count = 10000)
  9. {
  10. int succ = 0;
  11. vector<int> b;
  12. for(int i = 0; i < n; ++i)
  13. b.push_back(i);
  14. for(int j = 0; j < count; ++j)
  15. {
  16. random_shuffle(b.begin(), b.end());
  17. if (b[k] < m) succ++;
  18. }
  19. return double(succ)/count;
  20. }
  21.  
  22. int main()
  23. {
  24. for(int k = 0; k < 30; ++k)
  25. {
  26. cout << "k = " << setw(2) << k << " Success = " << setw(10) << experiment(50,10,k) << endl;
  27. }
  28. }
  29.  
  30.  
Success #stdin #stdout 0.24s 16064KB
stdin
Standard input is empty
stdout
k =  0 Success =     0.1982
k =  1 Success =      0.206
k =  2 Success =     0.1962
k =  3 Success =     0.1992
k =  4 Success =     0.2056
k =  5 Success =     0.1957
k =  6 Success =     0.1991
k =  7 Success =     0.1954
k =  8 Success =     0.2011
k =  9 Success =     0.2015
k = 10 Success =     0.2067
k = 11 Success =     0.2052
k = 12 Success =        0.2
k = 13 Success =     0.1937
k = 14 Success =     0.1987
k = 15 Success =     0.1998
k = 16 Success =     0.2031
k = 17 Success =     0.2059
k = 18 Success =     0.2024
k = 19 Success =     0.1962
k = 20 Success =      0.194
k = 21 Success =     0.1977
k = 22 Success =     0.1996
k = 23 Success =     0.2012
k = 24 Success =     0.1951
k = 25 Success =      0.205
k = 26 Success =     0.2002
k = 27 Success =     0.1921
k = 28 Success =     0.1983
k = 29 Success =     0.1986