как стать умнее кошки
Митрич тут интересную загадку загадал.
Я, если честно, не понял, что значит "Как вам найти кошку?". Ну хлопаешь этими дверями наугад, пока не найдешь, в чем проблема то? ))
Короче, решил сделать эмулятор этой игры-загадки на Ruby. И сделал, можете поиграться тут — https://repl.it/JMsQ/2
Правила описаны ниже, в посте Митрича.
Чтобы запустить игру нажмите Run в верхней панели, над редактором кода.
Чтобы начать игру сначала еще раз нажмите Run снова (потому что если игра закончится победой — программа остановится).
Играть очень просто — каждый ход/день/попытку вводите номер двери (с 1 по 7), она откроется. Если там кошка — вы победили. Если там пусто, получите сообщение — "You missed!". Наступит следующий день ))
В конце игры вы увидите число попыток (дней), которое вам понадобилось, чтобы найти чертову кошку.
P.S. Если перед стартом новой игры в строке 65 поменять значение debug_mode с false на true, то после каждого неудачного хода вы сможете подглядеть за кошкой в замочную скважину ))
Оригинал взят у
mi3ch в как стать умнее кошки
Перед вами семь дверей. За одной из них сидит кошка.
Каждый день вы можете открыть и закрыть одну дверь. Если кошка сидит за ней – вы победили.
Если бы кошка все время сидела за какой-то одной дверью, вы бы гарантировано нашли ее за семь попыток. Точнее – даже за шесть попыток.
Но каждую ночь кошка сдвигается на одну дверь – либо влево, либо вправо. Как ей захочется (понятно, что из крайней левой двери она может сдвинуться только направо, а из крайней правой – только налево).
Как вам найти кошку?
На всякий случай повторю, что после просмотра вы закрываете дверь, а кошка выбирает левую или правую дверь случайно. Если про кошку вам думать неинтересно, замените ее на девушку вашей мечты (принца на белом коне)
[Ответ]
Стратегия, которая всегда находит кошку за 10 и менее ходов — 2-3-4-5-6-6-5-4-3-2.
Смысл в том, чтобы дойти со второй двери до предпоследней, затем двигаться обратно ко второй.
Максимальное кол-во ходов, требуемых для поиска двери вычисляется по формуле — (кол-во дверей - 2) * 2
-2 потому что убираем две крайние позиции. *2 потому что два прогона, вперед и назад.
Работает на любом количестве дверей. Попробуйте, например, на 100: — https://repl.it/JNRF/2
Можно менять кол-во дверей в константе DOORS_QTY.
Я, если честно, не понял, что значит "Как вам найти кошку?". Ну хлопаешь этими дверями наугад, пока не найдешь, в чем проблема то? ))
Короче, решил сделать эмулятор этой игры-загадки на Ruby. И сделал, можете поиграться тут — https://repl.it/JMsQ/2
Правила описаны ниже, в посте Митрича.
Чтобы запустить игру нажмите Run в верхней панели, над редактором кода.
Чтобы начать игру сначала еще раз нажмите Run снова (потому что если игра закончится победой — программа остановится).
Играть очень просто — каждый ход/день/попытку вводите номер двери (с 1 по 7), она откроется. Если там кошка — вы победили. Если там пусто, получите сообщение — "You missed!". Наступит следующий день ))
В конце игры вы увидите число попыток (дней), которое вам понадобилось, чтобы найти чертову кошку.
P.S. Если перед стартом новой игры в строке 65 поменять значение debug_mode с false на true, то после каждого неудачного хода вы сможете подглядеть за кошкой в замочную скважину ))
Оригинал взят у

Перед вами семь дверей. За одной из них сидит кошка.
Каждый день вы можете открыть и закрыть одну дверь. Если кошка сидит за ней – вы победили.
Если бы кошка все время сидела за какой-то одной дверью, вы бы гарантировано нашли ее за семь попыток. Точнее – даже за шесть попыток.
Но каждую ночь кошка сдвигается на одну дверь – либо влево, либо вправо. Как ей захочется (понятно, что из крайней левой двери она может сдвинуться только направо, а из крайней правой – только налево).
Как вам найти кошку?
На всякий случай повторю, что после просмотра вы закрываете дверь, а кошка выбирает левую или правую дверь случайно. Если про кошку вам думать неинтересно, замените ее на девушку вашей мечты (принца на белом коне)
[Ответ]
Стратегия, которая всегда находит кошку за 10 и менее ходов — 2-3-4-5-6-6-5-4-3-2.
Смысл в том, чтобы дойти со второй двери до предпоследней, затем двигаться обратно ко второй.
Максимальное кол-во ходов, требуемых для поиска двери вычисляется по формуле — (кол-во дверей - 2) * 2
-2 потому что убираем две крайние позиции. *2 потому что два прогона, вперед и назад.
Работает на любом количестве дверей. Попробуйте, например, на 100: — https://repl.it/JNRF/2
Можно менять кол-во дверей в константе DOORS_QTY.