• Авторизация


Первая задачка. Самая простая, известная всем. 14-10-2006 00:01 к комментариям - к полной версии - понравилось!


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

- А как их зовут?
- Одного из близнецов зовут Джон, - сообщил я.
- Не очень-то редкое имя! - заявил Тони. - Почти каждого встречного, как говорится, Тома, Дика и Гарри, непременно зовут Джоном.
Замечание Тони несколько озадачило меня.
- А как зовут другого брата? - спросил Тони.
- Не помню, - признался я.
- А почему вы не помните? - поинтересовался Майкл.
- Не знаю почему, - ответил я, - да к тому же, как зовут второго брата, совершенно несущественно.
- А кто Джон - тот, кто лжет, или его брат? - вмешалась в разговор Лиллиан.
- Хороший вопрос, - одобрительно заметил я, - жаль только, что никто не знает, кто лжет - Джон или его брат.
- А в чем задача? - спросила Алиса.
- Задача вот в чем. Предположим, что вам встретились близнецы и вы хотите узнать, кто из них Джон. Каждому из них вам разрешается задать только один вопрос, на который можно ответить односложно: "да" или "нет". Сам вопрос должен состоять из трех слов. Какой вопрос вы задали бы?
- Всего три слова! - вскричал в изумлении Майкл.
- Совершенно верно, - подтвердил я. - На самом деле это условие сильно облегчает задачу: не так уже много найдется вопросов, состоящих всего из трех слов.
- Я знаю! - сказал один из гостей Алисы. - Нужно спросить у одного из близнецов: "Твое имя Джон?"
- Ничего не выйдет, - возразил Майкл. - Предположим, что на твой вопрос близнец ответит "да". Что это даст? Ровным счетом ничего: ведь он может и лгать, и
говорить правду.
- Придумал! - вскочил другой приятель Алисы. - Я бы спросил одного из братьев: "По-твоему, вода мокрая?"
Все принялись обдумывать новьй вариант вопроса. Потом Алиса сказала:
- Ничего не получится. Если спрошенный близнец ответит "да", то ты узнаешь, что он говорит правду. Если же он ответит "нет", то ты узнаешь, что он лжет. Но зовут ли его Джоном, останется по-прежнему неизвестным.
- Совершенно верно! - подтвердил я.
- Но зато вы будете знать, лжет он или говорит правду, - вступился за автора вопроса Тони.
- Правильно, - согласился я, - задача поставлена иначе. Ведь мы должны не установить, кто из братьев лжец, а узнать, кого из них зовут Джоном.
- У меня есть идея! - подал голос один из гостей.
- А что если спросить у одного из близнецов: "Ты говоришь неправду?"
- Бесполезный вопрос! - возмутилась Лиллиан. - Заранее можно сказать, что к кому бы ты ни обратился, говорит ли он всегда только правду или лжет, ответ всегда будет один и тот же: "Нет".
- Почему? - удивился кто-то из гостей.
- Потому, - ответила Лиллиан, - что тот, кто говорит всегда только правду, никогда не лжет и не станет выдавать себя за лжеца, а лжец никогда не признается честно, что он лжец. И в том и в другом случае оба ответят на вопрос одинаково: "Нет!"
- Очень хорошо! - одобрительно кивнул я.
- А какой же вопрос позволит нам узнать, кого из близнецов зовут Джон? - спросил Тони,
- А в этом-то и состоит задача!
вверх^ к полной версии понравилось! в evernote
Комментарии (8):
Буджум 08-11-2006-15:11 удалить
Я что-то не так понял в условии?
Ведь все совсем просто...
Задаешь одному любой вопрос, чтобы проверить, говорит ли он правду (ну хоть про ту же воду), а потом второго спрашиваешь: "Ты Джон?"
У_ловка 09-11-2006-19:38 удалить
Смысл в том, что задать вопрос можно ЛЮБОМУ, но только ОДИН.
Буджум 10-11-2006-16:42 удалить
Хмм... Пока только одна мысль...
Можно у одного спросить: "как ответит он *тыкнув пальцем на второго* на вопрос "ты Джон?"...
В три слова пока никак не могу уложиться)
У_ловка 10-11-2006-19:46 удалить
А что если задать этот вопрос самому потенциальному Джону? ;)
Буджум 13-11-2006-15:15 удалить
Нет. Именно так. В этом весь смысл)
У_ловка 14-11-2006-01:35 удалить
Но тогда ты не укладываешься в три слова.
Ally-chan 21-01-2007-07:57 удалить
А если спросить у одного из них "Джон, вода мокрая?"? Мы узнаем, что он скажет относительно своего имени и, заодно, сможем это проверить.

Нигде ведь не указано, что вопрос должен быть односложным, разговор был только про 3 слова.
Чеширия 13-03-2007-14:34 удалить
В общем, с формальной точки зрения (а логика - всегда в определенной степени формальность) правильный ответ выглядит так:

Если мы спросим у любого из близнецов "Лжет ли Джон?", то он может ответить нам, например, "Да". Это означает, что
- если близнец сказал нам правду, это означает, что он не Джон - ведь Джон лжет _всегда_ (по условиям задачи)
- если близнец солгал, то Джон никогда не лжет - а значит, он опять же не может быть Джоном.
Соответственно, ответ "Нет" означает, что перед нами именно Джон.

С тем же успехом можно спросить "Джон говорит правду?". Логическую цепочку по аналогии достроить очень просто ;)


Комментарии (8): вверх^

Вы сейчас не можете прокомментировать это сообщение.

Дневник Первая задачка. Самая простая, известная всем. | Чеширия - Чеширия | Лента друзей Чеширия / Полная версия Добавить в друзья Страницы: раньше»