Решение модуля 15.2 из курса «Поколение Python: для начинающих»

Ответы и решения урока 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)

Если у вас не отображается решение последних задач, значит у вас включен блокировщик рекламы который вырезает эти ответы

Понравилась статья? Поделиться с друзьями:
Подписаться
Уведомить о
guest

0 комментариев
Новые
Старые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x