Предмет: Информатика, автор: LemonBlaster

Определите, при каком наименьшем введённом значении переменной s программа выведет число 23. s = int(input())
n = 50
while s > 0:
s = s // 2
n = n - 3
print(n)

Ответы

Автор ответа: nelle987
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^8=256, все меньшие числа не выживут после восьми последовательных делений на 2.

Похожие вопросы
Предмет: Математика, автор: tania004