Алгоритмы и вероятностный вопрос - PullRequest
0 голосов
/ 01 ноября 2018

Нам дана функция rand () , которая возвращает случайное число из сегмента [0,1] ,

как мы можем использовать эту функцию для создания единого массива размером 100, точно 50 0 и 50 1.

Ответы [ 2 ]

0 голосов
/ 01 ноября 2018

Создайте массив размером 100, установите первые 50 элементов на 0, затем на 50 на 1. Затем сделайте замену элементов n раз, чтобы сделать его случайным. Например: i = 99 * rand(), j = 99 * rand() и поменяйте местами эти элементы array[i] <--> array[j]

0 голосов
/ 01 ноября 2018

У меня не возникает вопрос, если вам нужны случайные числа, почему оно должно быть точно 50/50, что является наиболее похожим результатом. Однако вы никогда не сможете гарантировать, что это будет 50/50, потому что это противоречило бы идее случайности.

Просто создайте и заполните массив 50/50 каждого и перемешайте его с помощью какого-нибудь причудливого алгоритма, также имейте в виду, что реализация случайности не случайна для большинства языков программирования.

...