
ДАЮ 35!!!!!!!!!!!БАЛЛОВ!!!!!!!!!!!!ПОЖАЛУЙСТА!!!!!!!!!!!!ПОМОГИТЕ!!!!! Андрей написал функцию и
передал в качестве параметра год рождения своей сестры — 2017. Python def f(n): s = 0 while (n != 0): s = s + n % 2 n = n // 2 return(s) Какое значение вернет функция ? Какое значение вернёт функция с тем же параметром, если в теле функции заменить число 2 на 10?

Ответы на вопрос

Ответ:
1) функция вернет значение 7
2) если в теле функции заменить число 2 на 10, то функция вернет значение 10
Объяснение:
1)
в функции цикл с предусловием выполняется пока переданный параметр (2017) не равен 0 (n != 0), функция суммирует остатки полученные при целочисленном деление этого числа на 2 (s = s + n % 2), а затем выполняет и само целочисленное деление этого числа на 2 (n = n // 2)
2017/2 = 1008 + остаток 1
1008/2 = 504 + остаток 0
504/2 = 252 + остаток 0
252/2 = 126 + остаток 0
126/2 = 63 + остаток 0
63/2 = 31 + остаток 1
31/2 = 15 + остаток 1
15/2 = 7 + остаток 1
7/2 = 3 + остаток 1
3/2 = 1 + остаток 1
1/2 = 0 + остаток 1
s = 0 (начальное значение) + 1 + 0 + 0 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + 1 = 7
2)
если в теле функции заменить число 2 на 10, то функция будет вычислять сумму цифр числа, переданного ей как параметр
def f(n):
s = 0
while (n != 0):
s = s + n % 10
n = n // 10
return(s)
2017/10 = 201 + остаток 7
201/10 = 20 + остаток 1
20/10 = 2 + остаток 0
2/10 = 0 + остаток 2
s = 0 (начальное значение) + 7 + 1 + 0 + 2 = 10



Я могу помочь вам с вашим вопросом о Python.
Функция f(n) вычисляет сумму всех четных битов в двоичном представлении числа n. Например, если n = 5, то его двоичное представление 101 имеет один четный бит (второй справа), поэтому f(5) = 1.
Если n = 2017, то его двоичное представление 11111100001 имеет пять четных битов, поэтому f(2017) = 31.
Если в теле функции заменить число 2 на 10, то функция будет вычислять сумму всех десятичных цифр в десятичном представлении числа n. Например, если n = 5, то его десятичное представление 5 имеет одну десятичную цифру, поэтому f(5) = 5.
Если n = 2017, то его десятичное представление 2017 имеет четыре десятичные цифры, поэтому f(2017) = 10.
Надеюсь, это поможет вам понять работу функции f(n). Если вы хотите узнать больше о том, как получать ввод пользователя в Python, вы можете посмотреть [этот учебник](https://www.w3schools.com/python/python_user_input.asp) или [этот блог](https://www.altcademy.com/blog/how-to-get-user-input-in-python/).


Похожие вопросы

Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili