Интересные задачи по программированию и логике
Создана: 09 Августа 2009 Вск 17:07:11.
Раздел: "Интернет-флейм"
Сообщений в теме: 585, просмотров: 198665
-
Несколько вагонов сцеплены между собой по кругу. Внутри ходит машинист, он должен посчитать количество вагонов. Он может только включать или выключать свет в вагонах. Как ему это сделать?
Свет горит случайным образом. Количество вагонов может быть ну очень большим. -
1. В Вагоне с которого начинает обход машинист Свет остаётся включен.
2. В каждом следующем вагоне машинист включает свет.
3. Проходя 3 вагона он смотрит в четвёртом свет горит, если да, то он проходит ещё 3 вагона и смотрит опять в четвёртом если свет горит, то он выключает его.
4. Проходит уже столько вагонов, сколько прошёл до первого выключения им света +1.
5. Если во всех пройденных вагонах свет горел а в +1 нет, то он предполагает, что прошёл круг дважды и посчитал вагоны.
6. Идёт предполагаемый 3-й (n+1) круг проходя по пункту 4.
7. Потом по пункту 5, дальше 6.
8. Если он приходит к одному и тому же числу вагонов как в пункте 3, то он посчитал вагоны.
000, Очень интересно хватит ли памяти и регистров у машиниста, для операций в умЕ? -
Shtopor писала :8. Если он приходит к одному и тому же числу вагонов как в пункте 3, то он посчитал вагоны.
По-моему, или всё-таки должно быть ограничение числа вагонов сверху, или найдётся такая комбинация включённого/выключенного освещения, при которой алгоритм сработает до обхода полного оборота. -
-
На столе в абсолютно темной комнате лежат 52 карты. 10 из них — рубашкой вверх. Различить их никак нельзя. Надо разделить их на две группы (не обязательно равных по количеству карт) так чтобы в каждой было равное количество карт, лежащих рубашкой вверх.
-
-
-
Есть запертая дверь. За ней — сокровища. Перед дверью — бочка. Бочка заполнена водой и закрыта крышкой. В крышке есть четыре расположенные квадратом отверстия. Под каждым отверстием — рыбка, головой вниз или головой верх. Положение рыбки можно определить только наощупь. Задача в том, чтобы ориентировать всех рыбок одинаковым образом. Охотник за богатством опускает руки в любые два отверстия, определяет положение рыб и, если считает нужным, переворачивает одну или обеих рыбок. Затем он вынимает руки. Если все рыбки ориентировались одинаково, то дверь открывается. В противном случае бочка приходит во вращение, и, когда она останавливается, невозможно определить, куда опускали руки. Во время вращения бочки рыбки сохраняют ориентацию и своё положение относительно отверстий. Требуется доказать, что дверь можно открыть не более чем за пять подходов.
-
-