Интеллектуальные развлечения. Интересные иллюзии, логические игры и загадки.

Добро пожаловать В МИР ЗАГАДОК, ОПТИЧЕСКИХ
ИЛЛЮЗИЙ И ИНТЕЛЛЕКТУАЛЬНЫХ РАЗВЛЕЧЕНИЙ
Стоит ли доверять всему, что вы видите? Можно ли увидеть то, что никто не видел? Правда ли, что неподвижные предметы могут двигаться? Почему взрослые и дети видят один и тот же предмет по разному? На этом сайте вы найдете ответы на эти и многие другие вопросы.

Log-in.ru© - мир необычных и интеллектуальных развлечений. Интересные оптические иллюзии, обманы зрения, логические флеш-игры.

Привет! Хочешь стать одним из нас? Определись…    
Если ты уже один из нас, то вход тут.

 

 

Амнезия?   Я новичок 
Это факт...

Интересно

Треть патентных заявок в Америке в 1905 году так или иначе касались велосипеда.

Еще   [X]

 +3 

Шрифт: A A A

Две тюремные задачки

Задача 1

В тюрьму собираются посадить 100 зэков в одиночные камеры. Каждого время от времени будут выводить прогуляться в коридор, где есть один большой рубильник. Во время прогулки каждому зэку разрешается только либо переключить рубильник, либо ничего не делать. Всех зэков отпустят, только если один из них однажды выйдя в коридор скажет, что все зэки уже здесь побывали и не ошибется. А если ошибется, то выпускать зэков на прогулку вообще перестанут. Какой должен быть алгоритм поведения зэков, чтобы их гарантированно отпустили, если:

1.1. известно, в каком положении рубильник будет изначально

1.2. это не известно.

Задача 2

2.1. Двух зэков приговорили к смертной казни. Но дали им один шанс: надели на каждого по колпаку с цифрой. Каждая цифра может быть либо единицей, либо двойкой. Зэки могут смотреть друг на друга, но не обмениваться никакой информацией. По команде они должны одновременно выкрикнуть по числу. Если хоть кто-то угадает свое собственное число, то обоих отпускают. Как им необходимо договориться, чтобы гарантированно выжить?

2.2. Предыдущий пункт может решить и восьмиклассник, если немного подумает. Если Вы тоже с ним справитесь, то попробуйте предложить решение для трех человек, каждый из которых видит всех остальных, но написанные цифры уже могут быть от одного до трех.

2.3. Если вы справились и со вторым пунктом, то придумайте решение для произвольного числа зэков.

Посмотреть ответ

Ответы

1.1. Допустим, изначально рубильник поднят. Тогда каждый из первых 99-ти зэков должен ровно один раз опустить рубильник, во всех остальных случаях они не должны вообще ничего делать. Сотый зэк каждый раз только поднимает рубильник, если он опущен. Тогда когда он поднимет его в 99-ый раз он может гарантировать, что все зэки побывали в коридоре.

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

2.1. Первый зэк называет ту цифру, которую видит, а второй - ту, которой не видит.

2.2. см. решение 2.3.

2.3. Пусть зэков n штук. Тогда первый называет такую цифру, чтобы сумма всех чисел на колпаках плюс названная делилась на n. Второй такую, чтобы давало остаток один при делении на n. Третий - чтобы два. И т.д. Каждый может так поступить, так как видит все остальные числа, и все они не больше n.

Задачки прислал Димитрий

Dmitry

опубликовать на FaceBook
← Назад?       Случайная заметка       Похожая       Вперед! →

40 комментариев  

0
гаджи 05

ну тут же все понятно:) каждый из них видет же номер своего напарника, если у одного на шлеме цифра 1 то соответственно у другого цифра 2 ! Простая логика товарищи:)

0
Tai

гаджи 05: в условии сказано ЛИБО1 ЛИБО 2 => может быть и две 2 и две 1 так что не катит.тут нужно тоньше действовать. как? пока не придумал.

0
алексей

1 задачка. Должден быть ведущий зэк только ему позволено опускать рубильник вниз и он всегда это делает если рубильник наверху. Каждый должен залрать рубильник вверх по одному разу. Ведущий считает. 2. Для N зэков. Зная истинное значение суммы всех номеров по модулю N легко вычислить собственный. Сумма по модулю N имеет N возможных значений. Каждому по значению и пусть считают. Один наверняка угадает. Остальные наверняка не угадают. На самом деле именно этим занимаются в случае N=2 две один из которых повторяет номер, другой инвертирует. Только здесь лучше не 1, 2 а 0, 1

0
Саня97

Зачем все так усложнять? Алгоритмы-шмалгоритмы…(для второй задачи), правильный по моему мнению ответ - ВСЕ зеки ,независимо от их колличества, должны называть ОДНУ И ТУ ЖЕ ЦИФРУ(будь то один, два…двадцать два)!;)

0
ыфф

Собака съедает гражданку лошадку, И с ней - гражданина кота

-1
лёха

Надо начальника подкупить.

0
Александр

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

+8
Сухич

Интересные развлечения у нас в тюрьмах… Медведев в курсе?

-4
Monomah

да не интересно и мутно

-4
Monomah

да не интересно и мутно

0
Hypuk

Очень запутанно, и нудные задачи.. не вызывает интереса..

0
Jinx

"Вор должен сидеть в тюрьме, вот что людей интересует" (с) Так что не отпускать ни кого)) Если по существу - задачки бред.

0
М

Да бред какой то, загадки неинтересные, ответы неоднозначные, ЧУШЬ, беее…

0
НИКИ

По задаче 2.1: -зек знает что их всего двое, - видя нумерацию на колпаке товарища он поймет, что тоже пронумерован,и нумерация будет порядковая, -если друг "1-й", значит он по чифрой "2".Ничего сложного в задаче нет

0
Мосинька

НИКИ: Каждая цифра может быть либо единицей, либо двойкой. Могут быть две единицы. Могут быть две двойки. Может быть единица и двойка. То же самое - для трёх

-5
НИКИ

Чё париться, вопрос был в том, что один скажет, что здесь все были. имеется ввиду в коридоре. ПОНЯТНО, ЧТО ТАМ БЫЛИ ВСЕ, ВЕДЬ НЕ ПО … ПРОВЕЛИ В КАМЕРЫ, А ПО ЭТОМУ КОРИДОРУ!. и если их выводят на прогулку, то выводят всех.Никаких рубильников никто дергать не будет- руки в наручниках!, а единственный зэк никогда не выйдет в коридор, т.к. он зэк и шарахаться по коридорам ему никто не даст.

0
R0mka

По поводу формулы которую я написал ранее : x=(N-1)-(S mod N)+i. Если i брать не (1, 2,3 и тд.), а (0, 1, 2 и тд.) то: x = N - (S mod N) + i Или (S mod N) -N + x = i Если не вычитать N, то можно x внести в кообки и прибавить к сумме(так как вычисляется отстаток от деления на N), то ((S+x) mod N) = i Получилось как в ответе: называть такую цифру, чтобы сумма всех чисел на колпаках плюс названная давало остаток один при делении на N (0, 1, 2 и тд).

0
Димитрий

Да, пожалуй Ваш алгоритм правелен, но с оговоркой на неопределённо-долгое время.

0
R0mka

Димитрий, возможно в ответе задачи более простой и быстрый алгоритм решения чем мой, но в своем я пока не увидел проблемы которая бы делала его невыполнимым.

0
R0mka

Дмитрий, посмотрите что я писал: "1.2: 99 зэков будут только включать, только 1 раз и только если ВИДЕЛИ рубильник включеным… ". Если изначально рубильник выключен то ни один из 99 зеков его трогать НЕ будет, так как они НЕ ВИДЕЛИ его включеным, и первый раз переключит рубильник только избранный зек. Значит только избраный зек будет знать изначальное положение рубильника и знать до скольки считать.

0
Димитрий

Такая ситуация. Изначально рубильник выключен. Один из зэков включает его. А потом приходит "избранный" зэк и выключает. Тогда по алгоритму он должен будет ждать, пока выключений станет на 100 больше. Но этого никогда не случится! Проблема в том, что Ваш, ROmka, алгоритм не различает случаи, когда рубильник изначально включен, и когда его вначале включает один из зэков.

0
R0mka

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

0
Димитрий

ROmka, может случиться такое, что один из 99-ти зэков будет постоянно натыкаться на включенный рубильник. Тогда он не сможет его никогда включить сам.

0
R0mka

1.2: 99 зэков будут только включать, только 1 раз и только если видели рубильник включеным. 1 зэк будет включать и выключать, и считать сколько раз. Как только количество выключений станет на 99 (или 100 если он первый раз выключал, а не включал) раз больше включений, значит все были.

0
bot

Еще наводящий вопрос,знают ли зеки,когда кого-то выводят,и слышат ли они что происходит в коридоре.

0
Димитрий

В первой задаче их выводят в неопределённое время. ROmka, Ваш алгоритм годится.

0
Teh Sentinel

Т.е., не после каждой прогулки, а после первого посещения корридора.

0
The Sentinel

Первая задача (подходит как для 1.1 так и для 1.2): после каждой прогулки зэк оставляет в корридоре шнурок от ботинка. ;)

-1
R0mka

Чтото я еще раз подумал и пришел к другому алгоритму второй задачи, Пусть N количество зеков, (N-1) количество зеков или цифр которые видит каждый зек, S сумма цифр которые видит зек, и остаток от деления S на N запишем как (S mod N), и еще i - порядковый номер зека. Тогда каждый зек говорит число вычисленое по формуле: (N-1)-(S mod N)+i. Вроде вот так.

0
bot

В первой задачке их выводят в определенное время?

0
Димитрий

Да, может. Но когда-то всё равно каждый выйдет.

+1
Piglette

а может быть, чтобы одни зеки выходили несколько раз, а другие - ни разу?

-1
R0mka

1.2 если изначальное положение рубильника неизвестно то главный зек может с 50% вероятностью сказать переключив рубильник 99 раз.

+1
R0mka

Вот что я придумал про зеков из первой задачи: 99 зеков будут только включать рубильник и только один раз, и 1 самый главный зек будет только выключать и считать сколько раз он выключил. Как только он 99 раз выключит то значит все зеки здесь побылали( это если знать что рубильник изначально был выключен, если изначально он был включен то ему надо на 100 раз выключить).

+1
R0mka

2.3 Алгоритм вроде такой для N зеков. Каждый зек слаживает все числа что видит и вычисляет остаток от деления на N, затем прибавляет свой порядковый номер(если цифра получилась больше N то опять вычисляет отсток от деления на N).

0
R0mka

Если я правильно понял алгоритм то 2.2: есть зеки (первый, второй, третий). Каждый слаживает цифры которые видит и вычисляет остаток от деления на 3, потом прибавляет свой порядковый номер(первый, второй, третий), если получилось больше трех то опять вычисляет отстаток от делния на 3. Если у всех одинаковые то все выкрикнут разные цифры, если разные то второй отгадает, и в остальных случаях вроде должно сработать.

+4
R0mka

Задача 2.1: надо чтобы один из них кричал цифру которую видит на колпаке у другого, а второй противополжную цифру которую видит на колпаке первого( если 2 то 1 , если 1 то 2). Таким образом если у них одинаковые цифры то оба крикнут разные цифры и один из них угадает, если протовоположные, то угадает второй ответивший противоположную цифру

0
misheln

Они договорились так. Если я буду на тебя смотреть говори 1, если нет то говори 2.

0
Димитрий

В первой задаче зэки ходят в коридор только поодиночке, а во второй сказано же, что нельзя обмениваться информацией!

0
XAVEN

Ну как бы опять условия точно не указаны. Ну вот в первой их выводят по отдельности,или можно выводить когда их много? Во второй как бы можно если глаз один прикрыт -1.если открыты-2.Также для троих.закрыть оба,закрыть один,вообще не закрывать - 1,2,3 соответственно.)

Отпишись
Ваш лимит — 2000 букв

Включите отображение картинок в браузере  →