bash.im ithappens.me zadolba.li
639

Тотальное невезение

На первом курсе иститута нам с другом очень нравились инженерные калькуляторы. Было приятно, что не нужно таскать с собой таблицу Брадиса, считать факториал в уме… А среди прочих функций калькулятора есть возможность генерации случайных чисел в диапазоне от 0 до 1.

Довольно быстро родилась игра под громким названием «Random Toutnament», по аналогии с «Unreal Tournament», естественно. Правила были простыми: у кого сгенерится число большее, чем у соперника, тот и побеждает. Друг шутил тогда, мол, спорим, будет 50/50 побед/поражений? Как он ошибался… Вскоре родилась идея перевести эту игру в программу на Си, я довольно быстро написал ее и отдал другу на тестирование. Любит он ошибки в моем коде находить, поэтому я отдал сразу экзешник. Спустя 5 минут слышен стук в аську:

— Что ты написал? Все время выигрывает первый игрок!

Некоторое время ушло на проверку кода и осознание того, что ошибиться в общем-то было негде. Проверяю — все работает. Переставляю переключатель режима сборки на «Release» и снова отдаю экзешник. 5 минут…

— Все равно постоянно выигрывает первый, — констатирует друг.

Злюсь, проверяю — все отлично! Запаковываю код в архив и шлю. Брожу по комнате в поисках учебника по теории вероятностей.

10 минут… Гора восклицательных знаков в качестве сообщения, затем статус друга меняется на «Не в сети». На следующий день мы встретились в институте. На друга было страшно смотреть. Он все время ассоциировал себя со вторым игроком и все время проигрывал. Потом, отчаявшись, поставил на первого и опять проиграл. 20 проигрышей подряд.

По теории вероятностей такое может произойти с вероятностью… 0,5 в 21 степени. В следующий миллиард миллиардов лет другу будет постоянно везти.