Олимпиадное задание на логику Агент не хочет раскрывать код программы. Ему задают вопросы, на которые он может ответить только «да» или «нет». Код состоит из пяти произвольных цифр. Только на один вопрос агент может дать неправильный ответ. Какое наименьшее число вопросов нужно задать агенту, чтобы верно отгадать код программы? (Ответ обоснуйте и сформулируйте вопросы, которые нужно задать агенту)
Для того чтобы верно отгадать код программы, нужно задать всего два вопроса агенту.
Первый вопрос: "Правильно ли, что вторая цифра кода больше 5?" Если агент отвечает "да", то мы знаем, что вторая цифра равна 6, 7, 8 или 9. Если агент отвечает "нет", то мы знаем, что вторая цифра кода равна 0, 1, 2, 3, или 4.
Второй вопрос: "Правильно ли, что третья цифра кода четная?" Если агент отвечает "да", то мы описанным выше способом сможем узнать еще одну цифру из кода программы. Если агент отвечает "нет", то сможем также узнать еще одну цифру.
Таким образом, с помощью двух вопросов мы сможем узнать три цифры из пяти, и, следовательно, верно отгадать код программы.
Для того чтобы верно отгадать код программы, нужно задать всего два вопроса агенту.
Первый вопрос: "Правильно ли, что вторая цифра кода больше 5?" Если агент отвечает "да", то мы знаем, что вторая цифра равна 6, 7, 8 или 9. Если агент отвечает "нет", то мы знаем, что вторая цифра кода равна 0, 1, 2, 3, или 4.
Второй вопрос: "Правильно ли, что третья цифра кода четная?" Если агент отвечает "да", то мы описанным выше способом сможем узнать еще одну цифру из кода программы. Если агент отвечает "нет", то сможем также узнать еще одну цифру.
Таким образом, с помощью двух вопросов мы сможем узнать три цифры из пяти, и, следовательно, верно отгадать код программы.