Решение: Результат работы цикла
Запишите число, которое будет напечатано в результате выполнения следующей программы. Программа представлена на пяти языках программирования.
1s = 100 2n = 1 3while s > 0: 4 s = s // 3 5 n = n * 2 6print(n)
Решение по шагам
3 шагаПроследим изменение переменной $s$ после каждого выполнения тела цикла.
$$100 \to 33 \to 11 \to 3 \to 1 \to 0$$После пяти проходов значение $s$ становится равным нулю, поэтому цикл завершается.
$$k = 5$$Переменная $n$ изначально равна 1 и на каждом проходе умножается на 2.
$$n = 1 \cdot 2^5 = 32$$Где здесь ошибаются
Использование обычного деления вместо целочисленного.
Неверный подсчёт числа проходов цикла.
Забывают, что умножение переменной $n$ выполняется до проверки условия следующей итерации.