Недавно обнаружил интересную задачу. Итак.
Имеется некоторая функция one_two(), которая возвращает равномерно распределенные значения 1 или 2. То есть, вероятность появления 1 или 2-ки равна 50% (1/2).
Задача. Написать такую функцию one_two_three(), которая бы возвращала равномерно распределенные случайные значения 1, 2 или 3 (то есть, вероятность появления каждого числа - 33%, или 1/3). Важный момент. Использовать при этом можно только функцию one_two().
То есть, никаких вызовов random() и все такое. Пока не могу сообразить, как решить. Но интересно )
Обновление от 21.06.2017: Удалось решить (кое-как =)) Два дня думал )))
Имеется некоторая функция one_two(), которая возвращает равномерно распределенные значения 1 или 2. То есть, вероятность появления 1 или 2-ки равна 50% (1/2).
Задача. Написать такую функцию one_two_three(), которая бы возвращала равномерно распределенные случайные значения 1, 2 или 3 (то есть, вероятность появления каждого числа - 33%, или 1/3). Важный момент. Использовать при этом можно только функцию one_two().
То есть, никаких вызовов random() и все такое. Пока не могу сообразить, как решить. Но интересно )
Обновление от 21.06.2017: Удалось решить (кое-как =)) Два дня думал )))
Комментариев нет:
Отправить комментарий