Алгоритм
При решении такой задачи используется бинарный или же двоичный поиск. Его суть заключается в том, что у нас есть две границы l = 1, r = n. Далее мы задаем вопрос: "Загаданное число x больше ли середины от суммы левой и правой границ", то есть mid = (l + r) / 2. Далее если mid оказалось больше x, то мы сдвигаем правую границу на место середины, то есть r = mid, иначе сдвигаем левую l = mid. Так мы продолжаем до тех пор, пока границы не станут равны. Вот и все.
Количество вопросов или же сложности алгоритма
Такой алгоритм работает за сложность O(log n), то есть чтобы отгадать число в диапазоне от 1 до n, нужно сделать log n вопросов. К примеру, если n = 1000, то вам понадобится 10 вопросов, а если n = 100, то всего 7.
Отличие линейного поиска от бинарного
Если бы мы искали число в диапазоне от 1 до n линейным поиском, нам бы потребовалось n вопросов, а бинарным всего log n.