Как найти кота?

Есть 5 коробок и в одной из них он сидит.

Как найти кота?

Во время переезда в квартире появилось 5 пустых коробок, и кот стал в них спать.  На каждой коробке написана своя цифра, от 1 до 5, а сами коробки стоят в ряд по порядку.

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

Есть ли такая стратегия, чтобы гарантированно найти кота в какое-нибудь утро, если мы не знаем, в какую коробку он пошёл спать в первую ночь?

Не ищите логику, давайте просто решать.

Так как кот всегда переходит в соседнюю коробку, то он по очереди спит в чётных и нечётных коробках. Используем это при решении.

Кот начал с чётной коробки

Это значит, что в первую ночь кот уснул в коробке 2 или 4. Допустим, мы утром открываем коробку 2. Если кот там — мы выиграли. Если кота там нет, значит, он точно в коробке 4. А раз он точно в коробке 4, значит, следующей ночью он пойдёт  спать в коробку 3 или 5.

Вторым утром проверяем коробку 3. Если кот спит там — мы выиграли. Если кота там нет, значит, он спит в коробке 5. А это значит, что следующей ночью он точно будет спать в коробке 4, потому что у коробки 5 нет других соседей. 

На третье утро открываем коробку 4 и находим кота. Победа.

Кот начал с нечётной коробки

Если мы прошли наш алгоритм 2–3–4 и не нашли кота, это значит, что он начал спать с нечётной коробки. Получается, что в первое утро кот спал в нечётной, во второе — в чётной, а в третье — снова в нечётной. Выходит, что на четвёртое утро кот снова будет в чётной коробке — 2 или 4. 

Но у нас уже есть стратегия нахождения кота в чётных коробках, мы только что её описали в предыдущем разделе. Значит, нам достаточно применить её ещё раз и снова открыть по утрам коробки 2, 3 и 4, чтобы точно найти кота.

Зачем искать котов?

Котов — незачем. Коты, когда захотят, сами найдутся. 

Но строить логически непротиворечивые и экономичные алгоритмы — это хлеб разработчиков. Развивайте алгоритмическую мышцу, и станете алгоритмическим качком.

Художник:

Даня Берковский

Корректор:

Ирина Михеева

Вёрстка:

Мария Дронова

Соцсети:

Олег Вешкурцев

Вам может быть интересно
Задача про таблетки и злого гения
Задача про таблетки и злого гения

Как логика и ограничения помогают найти банку с отравленными таблетками.

medium
Задача про секс и математику
Задача про секс и математику

Могут ли логика, математика и статистика привести к созданию новой крепкой семьи?

medium
Задача про безумного рекрутера и большой офис
Задача про безумного рекрутера и большой офис

Вот что бывает, когда начинаешь бесконтрольно нанимать людей, — внезапно заканчивается место в офисе.

easy
Реально сложные задачи
Реально сложные задачи

Очень сложные задачи и сложные математические примеры. Без шуток, мы предупредили.

hard
Логическая задача про странные часы
Логическая задача про странные часы

Проверьте себя

easy
Задачка: узнать среднюю зарплату в строгой компании
Задачка: узнать среднюю зарплату в строгой компании

Непростая задачка против звериного оскала капитализма.

easy
Два программиста и календарь
Два программиста и календарь

Как узнать количество дней в месяце только по его номеру?

hard
Карантинная задача на тригонометрию
Карантинная задача на тригонометрию

Соблюдай дистанцию, или квадрат катета!

easy
Задача про бейсбольную биту
Задача про бейсбольную биту

Эта задача решается не так просто, как кажется.

easy
easy
[anycomment]