вторник, 20 июня 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:  Удалось решить (кое-как =)) Два дня думал ))) 

четверг, 11 мая 2017 г.

Git for Windows и старые проблемы

Ранее писал уже о том, что git log с какой-то версии Git выводит в консоли под Windows русские (utf-8) символы в таком виде:

<d0><b9><d0><b8>.....

В версии 2.11.0.3 это было исправлено, то есть, символы русского языка стали отображаться нормально. Но затем (внезапно! =) все снова поломалось. И до сих пор (а уже на дворе версия Git 2.13.0) ничего в плане улучшения этой ситуации не меняется.
Зверски загуглил на тему того, что же делать с этой проблемой. И в одном из тредов на stackoverflow нашел вот такое решение.
Необходимо перед использованием git log явно в консоли прописать команду:
===
SET LC_ALL=C.UTF-8
===
Попробовал это дело под Windows 7 и... помогло! ))
Ну а далее уже просто прописал установку этой переменной среды в Environment Setup настроек ConsoleZ, и вуаля )
В общем, если кто еще столкнется с той же проблемой, то, возможно, мой пост окажется полезным.