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

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

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

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

Ситуация. Однажды в 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
Ультрасложная задача про пьяных программистов и коллизию
Ультрасложная задача про пьяных программистов и коллизию

Случай в бильярдной

hard
Как думаете, кто прав, сеньор или джуниор?
Как думаете, кто прав, сеньор или джуниор?
Попал программист в больницу, и началось

Бывает так, что написать код и узнать результат проще, чем делать всё руками.

easy
Космическая задача из NASA
Космическая задача из NASA

На размышление даётся десять… девять… восемь…

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

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

medium
Задачка, после которой вы полюбите факториал!
Задачка, после которой вы полюбите факториал!

На тему нового года, но дело вообще не в нём

easy
easy