Вопрос:

n = int(input()) s = 0 while (n != 0): s = s + n % 2 n = n // 2 print(s) Что выведет программа, если ввести число 2017?

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

Ответ:

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

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

  1. Ввод: n = 2017
  2. Инициализация: s = 0
  3. Цикл: while n != 0:
  4. Итерация 1:
    • s = 0 + 2017 % 2 = 1
    • n = 2017 // 2 = 1008
  5. Итерация 2:
    • s = 1 + 1008 % 2 = 1
    • n = 1008 // 2 = 504
  6. Итерация 3:
    • s = 1 + 504 % 2 = 1
    • n = 504 // 2 = 252
  7. Итерация 4:
    • s = 1 + 252 % 2 = 1
    • n = 252 // 2 = 126
  8. Итерация 5:
    • s = 1 + 126 % 2 = 1
    • n = 126 // 2 = 63
  9. Итерация 6:
    • s = 1 + 63 % 2 = 2
    • n = 63 // 2 = 31
  10. Итерация 7:
    • s = 2 + 31 % 2 = 3
    • n = 31 // 2 = 15
  11. Итерация 8:
    • s = 3 + 15 % 2 = 4
    • n = 15 // 2 = 7
  12. Итерация 9:
    • s = 4 + 7 % 2 = 5
    • n = 7 // 2 = 3
  13. Итерация 10:
    • s = 5 + 3 % 2 = 6
    • n = 3 // 2 = 1
  14. Итерация 11:
    • s = 6 + 1 % 2 = 7
    • n = 1 // 2 = 0
  15. Вывод: s = 7

Ответ: 7

ГДЗ по фото 📸

Похожие