fork download
  1. // binomial_distribution
  2. #include <ctime>
  3. #include <iostream>
  4. #include <random>
  5.  
  6. int main ()
  7. {
  8. int nrolls = 60; // number of experiments
  9. const std::size_t N = 6;
  10. unsigned int bucket[N] = {};
  11.  
  12. std::mt19937 generator(time(nullptr));
  13.  
  14. for (int i = 0; i != N; ++i) {
  15. double proba = 1. / static_cast<double>(N - i);
  16. std::binomial_distribution<int> distribution (nrolls, proba);
  17. bucket[i] = distribution(generator);
  18. nrolls -= bucket[i];
  19. }
  20.  
  21. for (int i = 0; i != N; ++i) {
  22. std::cout << i << ": " << bucket[i] << std::endl;
  23. }
  24. return 0;
  25. }
  26.  
Success #stdin #stdout 0s 3344KB
stdin
Standard input is empty
stdout
0: 6
1: 13
2: 11
3: 11
4: 12
5: 7