Ответы и решения урока 15.2(Числовая угадайка) на курс «Поколение Python: курс для начинающих».
Какое наименьшее число догадок нужно сделать пользователю, чтобы гарантированно угадать загаданное число от 11 до 100100?
7 Тимур загадал число от 1 до n. За какое наименьшее количество вопросов (на которые Тимур отвечает «больше» или «меньше») Руслан может гарантированно угадать число Тимура?
# Получаем целое число и сохраняем его в переменной n.
n = int(input())
# Инициализируем переменную k значением 0. Переменная k будет использоваться для подсчета степени двойки.
k = 0
# Создаем переменную a, чтобы сохранить исходное значение n, так как мы будем изменять n в процессе вычислений.
a = n
# Запускаем цикл while, который будет выполняться, пока n больше или равно 1.
while n >= 1:
# Увеличиваем значение k на 1.
k = k + 1
# Делим n на 2 с округлением в меньшую сторону (целочисленное деление).
n = n // 2
# После завершения цикла, переменная k содержит степень двойки, на которой основывается исходное число a.
# Проверяем, является ли исходное число a точной степенью двойки (2^(k-1)).
if a == 2**(k - 1):
# Если да, то выводим k - 1 (так как степень двойки - 1).
print(k - 1)
else:
# Если нет, то выводим k.
print(k) Если у вас не отображается решение последних задач, значит у вас включен блокировщик рекламы который вырезает эти ответы