Логическая задача про лифт

Сколько нужно выдержать поездок, чтобы попасть на свой этаж?

Логическая задача про лифт

Ещё одна задачка на логику, которой программисты мучают друг друга на собеседовании. Считается, что она проверяет нестандартное мышление. Но чу! Можно проверить нестандартное мышление того, кто вам эту задачку задаёт!

Ситуация. Однажды в 20-этажном доме вандалы-математики разбили почти все кнопки в лифте, сохранив только две. От короткого замыкания последние стали работать так: одна поднимает лифт на 13 этажей, а вторая опускает на 8.

Вопрос. Как жильцам попасть с 13-го этажа на 8-й?

В этой задаче есть момент из реальной жизни, который существенно упрощает решение. Но начнём с классического ответа.

Суть в том, что лифт не может выезжать за границы этажей. То есть если на 13 этаже мы нажмём кнопку «вверх», которая должна поднять лифт на 13 этажей, то он никуда не поедет, потому что 13 + 13 = 26, а в доме столько этажей нет. Значит, единственное, что нам остаётся на первом шаге — нажать «вниз»:

Вниз → 5 (13 - 8).

Здесь 5 — это номер этажа, на который приехал лифт, а цифры в скобках показывают начальный.

С 5 этажа мы можем уехать только вверх. Получается, что каждый раз у нас есть только один вариант, на какую кнопку нажимать. Давайте попробуем применить этот принцип и посмотреть, что получится:

Вниз → 5 (13 - 8).

Вверх → 18 (5 + 13).

Вниз → 10 (18 - 8).

Вниз → 2 (10 - 8).

Вверх → 15 (2 + 13).

Вниз → 7 (15 - 8).

Вверх → 20 (7 + 13).

Вниз → 12 (20 - 8).

Вниз → 4 (12 - 8).

Вверх → 17 (4 + 13).

Вниз → 9 (17 - 8).

Вниз → 1 (9 - 8).

Вверх → 14 (1 + 13).

Вниз → 6 (14 - 8).

Вверх → 19 (6 + 13).

Вниз → 11 (19 - 8).

Вниз → 3 (11 - 8).

Вверх → 16 (3 + 13).

Вниз → 8 (16 - 8).

В итоге за 19 поездок мы добрались до нужного этажа. Самое интересное, что по этим правилам лифт дальше никуда поехать не может: 8 + 13 = 21, а 8 - 8 = 0, что выходит за границы этажей. Придётся всё-таки вызывать мастера и делать ремонт.

Но есть и второе решение. Чаще всего в жизни бывает так: как только лифт доезжает до самого верхнего или нижнего этажа, он останавливается, независимо от того, сколько ещё ему оставалось проехать. Это логично: дошли до граничных значений и остановились. Воспользуемся этим и попробуем решить нашу задачу быстрее:

Вниз→ 5 (13 - 8).

Вниз → 1 (5 - 8) → доехали до первого этажа и остановились.

А как добраться с 1 этажа на 13 мы уже знаем из прошлого решения:

Вверх → 14 (1 + 13).

Вниз → 6 (14 - 8).

Вверх → 19 (6 + 13).

Вниз → 11 (19 - 8).

Вниз → 3 (11 - 8).

Вверх → 16 (3 + 13).

Вниз → 8 (16 - 8).

Итого 9 поездок. В два раза меньше, чем первым способом!
Граждане, берегите лифт!

Обложка:

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

Корректор:

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

Вёрстка:

Маша Климентьева

Вам может быть интересно
Задача про новую должность и выбор зарплаты
Задача про новую должность и выбор зарплаты

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

hard
Как рассадить интровертов в баре
Как рассадить интровертов в баре

Заходят как-то в бар два интроверта...

hard
Кто такой джуниор и стоит ли идти им работать?
Кто такой джуниор и стоит ли идти им работать?
easy
Задачка на алгоритмы: уничтожить роботов
Задачка на алгоритмы: уничтожить роботов

Прошиваем железяки, чтобы они самоуничтожились.

medium
Задача про банковскую комиссию
Задача про банковскую комиссию

Основано на реальных событиях

medium
Задача про цветной кубик
Задача про цветной кубик

Раскрась кубик правильно.

easy
Что означает предел в математике
Что означает предел в математике

Сага о погрешностях при участии слова lim

medium
Школьная загадка про сейф, которая ставит в тупик большинство взрослых
Школьная загадка про сейф, которая ставит в тупик большинство взрослых

Но не программистов.

hard
Предновогодняя задачка: Дед Мороз против Санта-Клауса
Предновогодняя задачка: Дед Мороз против Санта-Клауса

Как думаете, кто победит?

easy
easy