Предмет: Информатика,
автор: LemonBlaster
Определите, при каком наименьшем введённом значении переменной s программа выведет число 23. s = int(input())
n = 50
while s > 0:
s = s // 2
n = n - 3
print(n)
Ответы
Автор ответа:
1
Ответ:
256
Объяснение:
Программа с отступами и комментариями:
s = int(input()) # вводится целое число s
n = 50 # сначала n = 50
while s > 0: # пока s > 0
s = s // 2 # s делится на 2, дробная часть результата отбрасывается,
n = n - 3 # а n уменьшается на 3
print(n) # в конце выводится число n
На каждой итерации цикла n уменьшается на 3.
Изначально было 50, стало 23 — уменьшилось на 27, значит, было 9 итераций цикла.
Значит, подходят числа, которые еще не обнуляются, если их поделить на 2 восемь раз, и обнуляются на девятый.
Очевидно, наименьшее такое число — , все меньшие числа не выживут после восьми последовательных делений на 2.
Похожие вопросы
Предмет: Математика,
автор: Мирослав102
Предмет: Алгебра,
автор: kurnadva
Предмет: Биология,
автор: копеечка2002
Предмет: Математика,
автор: nastasiainfo
Предмет: Математика,
автор: tania004