Я вам обещал,что покажу как угадать число от 1 до 100 всего за 7 шагов (в самом худшем случае).
Если вы читали пост выше - то уже знаете ответ на данный вопрос. С помощью бинарного поиска мы каждый раз уменьшаем диапазон чисел в 2 раза. Давайте представим самый плохой сценарий - пользователь может говорить больше или меньше загаданное число названного нами. Загадываем 100.
Если помните - основная суть, называть число из середины диапазона (номер указывает на количество попыток):
1. Начнем с 50 (пользователь говорит больше)
2. Получаем диапазон 51 - 100. Середина 75 (больше).
3. Диапазон 76 - 100. Середина 88 (больше).
4. Диапазон 89-100. Середина 95 (больше).
5. Диапазон 96-100. Середина 98 (больше).
6. Диапазон 99-100. Берем 99 (больше).
7. Остается только 100.
Это крайний вариант - самый плохой, я бы сказал. Будь число где то ближе к диапазоном мы бы потратили меньше попыток.
У меня в репозитории есть код. Там вы можете проверить и увидеть сравнение скорости работы 2 алгоритмов