Цель: Понять
Изначальная функция
f(n)выполняет следующие действия:- Инициализирует переменную
sравную нулю. - Затем входной параметр
nпостоянно делится на 2 и остаток от деления прибавляется кs, покаnне станет равным нулю. - Функция возвращает сумму остатков от деления
nна 2.
- Инициализирует переменную
Чтобы определить, какое значение вернет функция с параметром 2019, следует применить функцию к данному параметру:
- При делении 2019 на 2:
- 2019 % 2 = 1, s = 0 + 1 = 1
- 2019 // 2 = 1009
- При следующем шаге:
- 1009 % 2 = 1, s = 1 + 1 = 2
- 1009 // 2 = 504
- Продолжая до тех пор, пока
n = 0, мы получаем:- 4 -> 2
- 2 -> 1
- 1 -> 1
Итак, исходная функция вернет 4 для ввода
2019.- При делении 2019 на 2:
Если мы изменяем делитель в функции на 10, то процесс остается аналогичным, за исключением использования деления на 10 вместо деления на 2:
- При делении 2019 на 10:
- 2019 % 10 = 9, s = 0 + 9 = 9
- 2019 // 10 = 201
- Продолжая этот процесс, получим:
- 201 % 10 = 1, s = 9 + 1 = 10
- 201 // 10 = 20
- 20 % 10 = 0, s = 10 + 0 = 10
- 20 // 10 = 2
- 2 % 10 = 2, s = 10 + 2 = 12
- 2 // 10 = 0
Таким образом, если изменить число 2 на 10 в функции, то с параметром 2019 функция вернет значение 12.
- При делении 2019 на 10: