// binomial_distribution
#include <ctime>
#include <iostream>
#include <random>

int main ()
{
    int nrolls = 60; // number of experiments
    const std::size_t N = 6;
    unsigned int bucket[N] = {};

    std::mt19937 generator(time(nullptr));

    for (int i = 0; i != N; ++i) {
        double proba = 1. / static_cast<double>(N - i);
        std::binomial_distribution<int> distribution (nrolls, proba);
        bucket[i] = distribution(generator);
        nrolls -= bucket[i];
    }

    for (int i = 0; i != N; ++i) {
        std::cout << i << ": " << bucket[i] << std::endl;
    }
    return 0;
}
