Даст ли это мне правильные случайные числа, основанные на этих вероятностях? C++

Код:

int random = (rand() % 7 + 1)
if (random == 1) { } // num 1
else if (random == 2) { } // num 2
else if (random == 3 || random == 4) { } // num 3
else if (random == 5 || random == 6) { } // num 4
else if (random == 7) { } // num 5

В принципе, мне нужны все эти числа с каждой из этих вероятностей: 1: 1/7 2: 1/7 3: 2/7 4: 2/7 5: 1/7

Даст ли этот код мне правильные результаты? Т.е. если его запустить бесконечное количество раз, получу ли я правильные частоты? Есть ли менее длинный способ сделать это?

5
задан DillPixel 29 November 2011 в 19:44
поделиться