Слепой Программист И Фальшивая Монета

20 лет назад я был очень близорук -7 против -14. Врачи в то время не могли подобрать мне подходящие очки, чтобы надеть их в кино.

Меня спасло чудо.

Я стал одним из первых пациентов Московского центра глазной хирургии XIMER, где в 1999 году мне сделали операцию по коррекции зрения с использованием лазерной технологии LASIK. Каждый глаз стоил чуть более 1000 долларов.

После операции я забыл об очках и стал счастливым человеком.

И он оставался счастливым, как вдруг его зрение начало ухудшаться.

В 2013 году я стал плохо видеть шайбу, к 2015 году — футбольный мяч (играю в футбол и хоккей 6 раз в неделю) и наконец перестал встречаться с некрасивыми женщинами.

В голове замаячил вопрос – что опять? Несмотря на совет местного хабра-врача, которого мы все знаем и уважаем, я решился на повторную операцию по исправлению зрения.

Конечно, я снова выбрал XIMER, но не Москву, а ближе к Нижнему Новгороду.

Мне сделали операцию в пятницу 13-го.

350 евро за глаз.

Как и 17 лет назад, я временно стал дальнозорким; Дело в том, что после операции зрение вблизи не приходит в норму сразу.

Отек и туман могут исчезнуть за 2 дня, а то и за месяц – все зависит от того, кому порезали глаза.

Что такое дальнозоркость? Когда ты не умеешь читать и писать и твой образ жизни меняется.

В основном вы слушаете, трогаете и думаете.

В голову приходит всякая ерунда, в том числе и математические загадки, которые довольно сложно решить в голове.

Одна из таких загадок вдруг надолго засела у меня в голове.

Это ребус о фальшивой монете.

Напомню условие задачи -

Даны 12 монет и весы.

Известно, что одна из монет фальшивая, то есть она либо легче, либо тяжелее остальных.

Как найти фальшивую монету с помощью трёх взвешиваний?

Однажды я успешно решил эту задачу карандашом на бумаге, но не в голове.

Теперь мне не хватило терпения перебрать все варианты в темноте своего сознания.

И я решил написать простое приложение для iOS, имитирующее условия задачи.

Программирование вслепую — это квест. Как написать эту статью.

Но я справился благодаря двум ключам КМД И + .

На данный момент я могу распознать текст на 27-дюймовом мониторе, если экран содержит не более 18-20 строк.

Не ясно.

Клавиатура тоже непростая — пальцы запоминают, но довольно часто сбиваются с привычного положения.

Вообще говоря, самих клавиш я не вижу, но могу отличить Z от i. Было немало забавных и трагикомических моментов, сами догадаетесь; но важно, что я смог отвлечься от сумеречного состояния моей души.

Приложение, конечно, совершенно бредовое, но пользу мне оно принесло.

В том числе интеллектуально.

Теперь я могу решить задачу о фальшивой монете с закрытыми глазами, в разных модификациях, с продолжениями, слева направо и сверху вниз.

Кстати, его до сих пор спрашивают на собеседованиях.

Несколько слов о жизненном цикле разработки.

Изначально я сделал один оригинальный уровень, повторяющий условия задания.

Решив достаточно, я добавил уровни с 2, 3, 4 и так далее по 11 монет. Даже дошкольники научились решать упрощенные задачи.

Я подумал, что было бы неплохо добавить уровни, в которых можно решить задачу с вероятностью не ниже 0,5, и добавил еще 5 уровней с 13,14,15,16,17 монетами.

Быстро пройдя новые вехи, я добавил бесконечное количество уровней в пределах 5 бит и успокоился.

Успокоиться! Специально для читателей Хабра игра бесплатна и переведена на русский язык.

Фальшивомонетчик Комментарии об ошибках в статье никуда не присылайте.

Помните, я не могу их прочитать.

Конечно, в статье есть заведомая математическая ошибка; тот, кто это обнаружил, тот настоящий программист, не такой как я.

Надеюсь увидеть вас в ближайшее время! Теги: #видение #математические задачи #и пиар

Вместе с данным постом часто просматривают: