Дата публикации: 29 апреля 2026 г․
Содержание
- Теоретические основы (информация, биты и формула Хартли)
- Оптимальная стратегия – бинарный поиск
- Дерево вопросов: пример полного дерева из 7 вопросов
- Вариации задачи (меньший диапазон, ограниченное число вопросов)
- Практические реализации: мобильные приложения и онлайн‑игры
- Образовательная ценность задачи
- Список использованных источников
Задача «загадать число от 1 до 100, а отвечающий может говорить только «да» или «нет»» – классический пример применения
информационной теории к логическим играм․ На первый взгляд кажется, что достаточно задать несколько вопросов,
но на практике выясняется, что для полной уверенности в ответе требуется минимум 7 вопросов․ Именно
это количество вопросов связано с тем, сколько бит информации необходимо передать, чтобы различить 100
возможных вариантов․
Теоретические основы
Информация, передаваемая одним бинарным ответом («да»/«нет»), составляет ровно 1 бит․ Чтобы
определить число из N вариантов, нужно минимум log₂ N бит․ Эта оценка известна как формула Хартли:
N = 2ⁱ ⇒ i = ⌈log₂ N⌉
Для нашего диапазона:
- N = 100
- i = ⌈log₂ 100⌉ = ⌈6,64⌉ = 7 бит
То есть ровно 7 вопросов гарантируют, что мы сможем различить все 100 чисел, а 6 вопросов
(64 варианта) уже недостаточно․
Оптимальная стратегия – бинарный поиск
Самый простой способ достичь нужного количества вопросов – использовать деление пополам (binary search)․
Каждый вопрос формулируется так, чтобы ответ «да» или «нет» уменьшал оставшийся диапазон ровно в два раза․
Алгоритм
- Задаём границы
low = 1,high = 100․ - Пока
low < high:- Вычисляем среднее значение
mid = ⌊(low + high) / 2⌋․ - Спрашиваем: «Загаданное число больше
mid?» - Если ответ «да», то
low = mid + 1, иначеhigh = mid․
- Вычисляем среднее значение
- Когда границы совпадают,
low(илиhigh) – искомое число․
Для диапазона 1‑100 такой процесс завершится максимум за 7 вопросов, потому что каждый шаг
удваивает точность․
Дерево вопросов: пример полного дерева из 7 вопросов
Ниже представлена часть полного дерева вопросов, где каждый уровень соответствует очередному
вопросу «больше X?»․ Показаны только первые три уровня, чтобы не перегружать визуализацию․
| Вопрос № | Текст вопроса | Ответ «да» → диапазон | Ответ «нет» → диапазон |
|---|---|---|---|
| 1 | Больше 50? | 51 – 100 | 1 – 50 |
| 2 (для «да») | Больше 75? | 76 – 100 | 51 – 75 |
| 2 (для «нет») | Больше 25? | 26 – 50 | 1 – 25 |
| 3 (для 76 – 100) | Больше 88? | 89 – 100 | 76 – 88 |
| 3 (для 51 – 75) | Больше 63? | 64 – 75 | 51 – 63 |
Продолжая делить полученные диапазоны, к седьмому вопросу каждый из 100 исходных чисел
попадает в отдельный лист дерева․
Вариации задачи
Меньший диапазон
Если диапазон сократить, количество необходимых вопросов уменьшается․ Например:
- 1 – 10 → ⌈log₂ 10⌉ = 4 вопросов․
- 1 – 32 → ⌈log₂ 32⌉ = 5 вопросов (точно 5, потому что 2⁵ = 32)․
Ограниченное число вопросов
Если игроку разрешено задать только 3 вопроса, то гарантировать отгадку невозможно․
Максимальное количество чисел, которые можно различить за 3 бинарных ответа – 2³ = 8․
Следовательно, диапазон должен быть ≤ 8․ Для 1‑100 можно лишь попытаться «угадать» число с
неполным покрытием, но вероятность успеха будет 8 %․
Неравномерные вопросы
Можно задавать вопросы, которые не делят диапазон пополам, а используют знания о вероятностях․
Если известно, что некоторые числа встречаются чаще, то стоит задавать вопросы,
разделяющие наборы «частых» и «редких» чисел․ Однако в классическом варианте все числа равновероятны,
поэтому оптимален ровный делитель‑половина․
Практические реализации
Существует несколько мобильных и онлайн‑игр, где пользователь может попрактиковаться в этой
задаче:
- «Угадай от 1 до 100» – приложение в RuStore, позволяющее пользователю задавать вопросы
и получать ответы «да/нет»․ скачать; - Find the Number – 1 to 100 (Google Play) – интерактивный вариант с визуальными подсказками․
- Онлайн‑версии на образовательных площадках, например Знания․com,
где обсуждаются теоретические расчёты и примеры․
Все эти сервисы используют именно бинарный поиск, потому что он минимизирует количество вопросов․
Образовательная ценность задачи
Задача служит отличным введением в несколько важных тем:
- Информационная теория: понятие бита, формула Хартли, измерение количества информации․
- Алгоритмы и структуры данных: бинарный поиск, дерево решений․
- Логическое мышление: построение вопросов, которые максимально сужают пространство вариантов․
- Комбинаторика: подсчёт количества возможных ответов, оценка оптимальности стратегии․
Эти навыки применимы в программировании, анализе данных, тестировании и даже в повседневных
решениях, где нужно быстро сузить набор вариантов․
Загаданное число от 1 до 100, при ответах «да»/«нет», можно отгадать гарантированно за семь вопросов․
Это минимум, вытекающий из фундаментального ограничения в один бит информации на каждый ответ․
Самый простой и одновременно оптимальный метод – бинарный поиск, который последовательно
разделяет текущий диапазон пополам․ При желании задавать меньше вопросов необходимо либо
сократить диапазон, либо принимать риск ошибочного угадывания․
Практиковаться в такой задаче удобно как в традиционной форме (бумага + ручка), так и в виде
мобильных приложений, которые делают процесс интерактивным и визуально понятным․
Список использованных источников
- Reddit, «Someone asked me to think of a number from 1 to …», 1 октября 2025․
- Знания․com, «1)Загадано число от 1 до 100․ …», 9 октября 2012․
- RuStore, «Угадай от 1 до 100», 16 июля 2023․
- Mail․ru Answers, «Задача․ как угадать число от 1 до 100, задав 3 вопроса», 12 июня 2011․
- Google Play, «Find the Number – 1 to 100», актуально на 2026 год․