• Предмет: Алгебра
  • Автор: Аноним
  • Вопрос задан 3 месяца назад

Имеются три разработчика: бэкенд (А), фронтенд (В) и фулстек ©. Первый всегда говорит правду, второй всегда лжёт, а третий всегда отвечает случайным образом, то есть может как соврать, так и сказать правду. Нужно за три вопроса выяснить, кто из них кто.

Ограничения и условия:

программисты отвечают только фразами «Надо подумать» и «Зависит от ситуации». Одна из этих фраз означает «да», другая — «нет», но мы заранее не знаем, какая где;
один и тот же вопрос двум разработчикам задавать нельзя (но задать два вопроса одному разработчику — можно);
не обязательно задавать вопросы каждому разработчику, можно все три вопроса задать одному;
вы сами решаете, кому и в каком порядке задавать вопросы;
нельзя задавать философские вопросы, на которые нельзя ответить однозначно «Да» или «Нет»;
нельзя задавать такие вопросы, на которые невозможно ответить.

Ответы

Ответ дал: kirillsaginov0116
0

Ответ:

Можно выяснить, кто из них кто, задавая три вопроса одному разработчику:

"Если бы я спросил тебя, правду говорит ли А, что он бэкенд-разработчик, ты бы ответил "Да"?

Если разработчик ответит "Да", значит, он лжет, и он либо В, либо C. Если разработчик ответит "Нет", то он говорит правду, и он - A.

"Если бы я спросил тебя, правду говорит ли В, что он фронтенд-разработчик, ты бы ответил "Да"?

Если разработчик ответит "Да", значит, он лжет, и он либо A, либо C. Если разработчик ответит "Нет", то он говорит правду, и он - B.

Спросите у любого из разработчиков: "Кто является фулстек-разработчиком: ты, я или тот, кто сказал "Надо подумать" в ответ на первый вопрос?

Если разработчик ответит "Я", значит, он говорит правду, и он - C. Если он ответит "Ты", значит, он лжет, и он - либо A, либо B. Если он ответит, что фулстек-разработчик - тот, кто сказал "Надо подумать" в ответ на первый вопрос, то он говорит правду или лжет случайным образом, так что этот ответ не помогает в идентификации.

Вас заинтересует