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

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

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

Представьте, что у вас есть электрическая духовка с одной механической кнопкой. Кнопка по очереди включает режимы работы от слабых к сильным, затем выключает духовку, а при следующем нажатии снова включает самый слабый режим. Так можно щёлкать по кругу сколько угодно — в зависимости от количества щелчков духовка будет проходить все стадии работы. 

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

Проблема в том, что когда электричество включится, духовка заработает на том режиме, на котором стоит кнопка. Вас дома уже не будет.

Сейчас вам нужно нажать механическую кнопку столько раз, чтобы при включении света духовка оказалась в выключенном режиме. Вы не помните, сколько именно у духовки режимов работы, но их точно не больше четырёх (включая выключенный).

Вопрос: сколько раз нужно сейчас нажать на кнопку, чтобы духовка точно оказалась в выключенном режиме?

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

Единственное, что нам известно — что режимов 4 или меньше. Это значит, что их может быть 2, 3 или 4. Один режим работы быть не может, потому что это будет режим «Выключено».

Представьте, что сейчас духовка выключена и у неё от 2 до 4 режимов работы. Давайте посмотрим, сколько раз нужно нажать на кнопку из каждого состояния, чтобы снова вывести её в выключенное состояние: 

2 режима работы: первая мощность → выключено.

3 режима работы: первая мощность →  вторая мощность → выключено.

4 режима работы: первая мощность →  вторая мощность → третья мощность → выключено.

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

У нас есть три варианта нажатий от выключенного состояние в выключенное: 2, 3 и 4. Их наименьшее общее кратное равно 12. Это значит, что 12 — минимальное число, которое делится нацело одновременно на 2, 3 и 4.

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

Зачем мне это знать, дорогой Код?

А вот зачем:

  1. Правильно обходить массивы (огромная проблема для начинающих, чтобы не терять первые и последние элементы массива).
  2. Строить эффективные алгоритмы, которые работают на больших массивах данных. 
  3. Чтобы не было пожара.

Художник:

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

Корректор:

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

Вёрстка:

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

Соцсети:

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

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

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

easy
Задача: как успеть на презентацию

Мы собрали всех IT-знаменитостей вместе, чтобы выяснить, как они ведут себя в темноте.

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

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

hard
Морфеус и математика против агентов Матрицы

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

easy
Хитрые ребусы с логикой и математикой

Кто решит, тот заслужил выходной

medium
Задача про необязательного программиста

Как потратить всё, что заработал.

easy
Какой сегодня день недели? Когда выходной?

А? Что? Как? Задача какая-то

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

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

easy
Решаем кодом задачу про безумного рекрутера

Пусть рассудит машина.

medium
easy
[anycomment]
Exit mobile version