Найти тему
Журнал «Код»

Сколько нужно программистов, чтобы вкрутить лампочку: задача про электрика

Пример того, как можно нестандартно мыслить и получить правильный ответ.

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

Электрику разрешили как угодно щёлкать выключателями снаружи, но внутрь зайти позволили только один раз. Внутри с лампочками тоже можно делать что угодно, но по соображениям секретности возвращаться к выключателям уже нельзя. Как ему определить, какой выключатель отвечает за каждую лампочку?

Решение

Сразу напрашивается такое решение: включить одну лампу и выключить другую. Тогда если мы зайдём в комнату, то одна будет гореть, а другая — нет, и мы поймём, какой выключатель за что отвечает.

Но если мы включим и третью лампу, то как отличим от такой же первой? А если выключим, то как отличим от неработающей второй? Нужно научиться различать две одинаковые работающие или неработающие лампы.

Самый простой способ — разделить лампы ещё и на тёплые и холодные. Лампа становится тёплой, когда поработает, и даже если её выключить, она всё равно какое-то время останется тёплой.

Мы знаем, что все три лампы выключены. Но вдруг они недавно включались и ещё не успели остыть? Значит сначала ждём какое-то время, чтобы все лампы снова стали холодными.

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

Чтобы различить две холодные лампы, щёлкаем любым другим выключателем и заходим в комнату. В итоге мы увидим:

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

Тепло и логика!

Подписывайтесь на наш канал, чтобы лампочки не перегорали!