Вопрос:

Дана программа на Python. В качестве входного числа используется год рождения сестры Андрея — 2017. n = int(input()) s = 0 while (n != 0): s = s +n%2 n = n // 2 print(s) Что выведет программа, если ввести число 2017?

Смотреть решения всех заданий с листа

Ответ:

Краткое пояснение: Программа вычисляет сумму остатков от деления числа на 2 до тех пор, пока число не станет равным 0.

Пошаговое решение:

  1. Шаг 1: Инициализация переменных: n = 2017, s = 0.
  2. Шаг 2: Вход в цикл while (n != 0).
  3. Шаг 3: Первая итерация цикла:
    • s = s + n % 2 = 0 + 2017 % 2 = 0 + 1 = 1
    • n = n // 2 = 2017 // 2 = 1008
  4. Шаг 4: Вторая итерация цикла:
    • s = s + n % 2 = 1 + 1008 % 2 = 1 + 0 = 1
    • n = n // 2 = 1008 // 2 = 504
  5. Шаг 5: Третья итерация цикла:
    • s = s + n % 2 = 1 + 504 % 2 = 1 + 0 = 1
    • n = n // 2 = 504 // 2 = 252
  6. Шаг 6: Четвертая итерация цикла:
    • s = s + n % 2 = 1 + 252 % 2 = 1 + 0 = 1
    • n = n // 2 = 252 // 2 = 126
  7. Шаг 7: Пятая итерация цикла:
    • s = s + n % 2 = 1 + 126 % 2 = 1 + 0 = 1
    • n = n // 2 = 126 // 2 = 63
  8. Шаг 8: Шестая итерация цикла:
    • s = s + n % 2 = 1 + 63 % 2 = 1 + 1 = 2
    • n = n // 2 = 63 // 2 = 31
  9. Шаг 9: Седьмая итерация цикла:
    • s = s + n % 2 = 2 + 31 % 2 = 2 + 1 = 3
    • n = n // 2 = 31 // 2 = 15
  10. Шаг 10: Восьмая итерация цикла:
    • s = s + n % 2 = 3 + 15 % 2 = 3 + 1 = 4
    • n = n // 2 = 15 // 2 = 7
  11. Шаг 11: Девятая итерация цикла:
    • s = s + n % 2 = 4 + 7 % 2 = 4 + 1 = 5
    • n = n // 2 = 7 // 2 = 3
  12. Шаг 12: Десятая итерация цикла:
    • s = s + n % 2 = 5 + 3 % 2 = 5 + 1 = 6
    • n = n // 2 = 3 // 2 = 1
  13. Шаг 13: Одиннадцатая итерация цикла:
    • s = s + n % 2 = 6 + 1 % 2 = 6 + 1 = 7
    • n = n // 2 = 1 // 2 = 0
  14. Шаг 14: Цикл завершается, так как n == 0.
  15. Шаг 15: Вывод значения переменной s.

Ответ: 7

ГДЗ по фото 📸