Краткое пояснение: Программа выводит сумму остатков от деления числа на 2 до тех пор, пока число не станет равным нулю.
Пошаговое решение:
- Шаг 1: Вводим число 2019.
- Шаг 2: Запускаем цикл while, который выполняется, пока n не равно 0.
- Шаг 3: На каждой итерации цикла вычисляем остаток от деления n на 2 и прибавляем его к s.
- Шаг 4: Затем n делится нацело на 2.
Разберем по шагам:
- n = 2019, s = 0; s = 0 + 2019 % 2 = 1, n = 2019 // 2 = 1009
- n = 1009, s = 1; s = 1 + 1009 % 2 = 2, n = 1009 // 2 = 504
- n = 504, s = 2; s = 2 + 504 % 2 = 2, n = 504 // 2 = 252
- n = 252, s = 2; s = 2 + 252 % 2 = 2, n = 252 // 2 = 126
- n = 126, s = 2; s = 2 + 126 % 2 = 2, n = 126 // 2 = 63
- n = 63, s = 2; s = 2 + 63 % 2 = 3, n = 63 // 2 = 31
- n = 31, s = 3; s = 3 + 31 % 2 = 4, n = 31 // 2 = 15
- n = 15, s = 4; s = 4 + 15 % 2 = 5, n = 15 // 2 = 7
- n = 7, s = 5; s = 5 + 7 % 2 = 6, n = 7 // 2 = 3
- n = 3, s = 6; s = 6 + 3 % 2 = 7, n = 3 // 2 = 1
- n = 1, s = 7; s = 7 + 1 % 2 = 8, n = 1 // 2 = 0
Цикл завершается, так как n стало равно 0.
Ответ: 8