У друга в компьютере есть дополнительная карта, которая генерирует совершенно случайное число от 1 до 5 включительно. К сожалению, они как-то пролили колу, и теперь она генерирует только 2 для всех чисел от 1 до 4. К счастью, случайность сохраняется, но вероятность 2 равна 80%, вероятность 5 - 20%, а 1, 3 или 4 сгенерированы. Используя этот случайный источник (назовите его BrokenRand()
или что-то подобное), напишите работающий генератор случайных чисел, который производит числа от 1 до 5 с вероятностью равной 20% с той же идеальной случайностью, что и исходный источник.
Кратчайшая программа выигрывает. Бонусные баллы начисляются за минимальное количество BrokenRand
беспристрастных звонков с помощью демографически отобранных консультантов, специализирующихся на обслуживании клиентов, с разбивкой по возрасту и полу - т.е. мне.