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

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

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

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

Ситуация. Однажды в 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
Задача про хакатон и неразбериху с местами
Задача про хакатон и неразбериху с местами

То густо, то пусто

easy
Задача про время на сервере
Задача про время на сервере

Переводим часы правильно

easy
Что не так с задачей для советских школьников из Ютуба
Что не так с задачей для советских школьников из Ютуба

Для решения там используют обычные хозяйственные…

easy
Задача про демонов с собеседования на аналитика
Задача про демонов с собеседования на аналитика

Что делать демонам в сложной ситуации

hard
Задачка: как выключить духовку?
Задачка: как выключить духовку?

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

easy
Андрюха, бензин и Игра престолов
Андрюха, бензин и Игра престолов

Программистская задача с математическим уклоном.

easy
easy