И обратил внимание на местные двери с кодовыми замками.
Замки открывались с помощью четырехзначных пин-кодов.
Но был "один нюанс"©.
Если герой нажимал клавишу на пин-паде, то она "залипала" и больше её нажать было нельзя.
Это накладывало ограничения на коды, цифры в них не должны были повторяться.
Т.е. 1234, 2345, 4567, 1023 и т.д. - "правильные" пин-коды.
А 0000, 1111, 1233, 2213 и т.д. - "неправильные".
Мне стало любопытно, а сколько из этих 10 000 кодов - "правильных" и "неправильных"?
Интуиция подсказывала, что соотношение будет очень примерно равно 50/50.
Однако, математика - наука точная и мне стало интересно, сколько ТОЧНО.
Я помнил, что есть формула, которая позволяет это рассчитать, но решил размять мозг.
Набросал за пару вечеров программку на
Компьютер решил задачу за секунду (или, если быть точным, за 0.3).
Ответ удивил меня тем, насколько моя интуиция хорошо работает:
Goods = 5040
Bads = 4960
Но пытливый ум не давал покоя.
Мне стало интересно, как же распределяются уникальные пин-коды, если расположить их в двухмерной плоскости.
Дописал ещё десять строк кода и получил Ковёр Хвостатыча:

Второй вариант ковра с разбивкой по 1000 элементов. Сверху сиротливо стоит "0000":

__