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

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

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

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

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

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

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

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

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

Единственное, что нам известно — что режимов 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
Простая задача про круги, которая выглядит сложной
Простая задача про круги, которая выглядит сложной

Но на деле она точно простая.

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

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

easy
Откуда взялась тысяча?
Откуда взялась тысяча?

Классическая задача на абстрактное мышление и логику.

easy
Задача про девопсов и обед
Задача про девопсов и обед

Помогите айтишникам успеть на перерыв

easy
Задача: баг или фича?
Задача: баг или фича?

Сколько времени потребуется программисту, чтобы запилить весь проект?

easy
easy