Я вам обещал,что покажу как угадать число от 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 алгоритмов. Один из примеров показывает почти 100% преимущество по сравнению с простым поиском.
Подпишись на нас - будет много разборов интересного.
В телеграмм - https://t.me/john_soi_blog
В дзене - https://dzen.ru/john_soi_blog
Boosty - https://boosty.to/dh_education/donate
Как угадать число от 1 до 100 за 7 шагов (максимум)
17 августа17 авг
3
1 мин