Вопрос задан 15.06.2023 в 07:27. Предмет Информатика. Спрашивает Сафронова Мария.

ДАЮ 35!!!!!!!!!!!БАЛЛОВ!!!!!!!!!!!!ПОЖАЛУЙСТА!!!!!!!!!!!!ПОМОГИТЕ!!!!! Андрей написал функцию и

передал в качестве параметра год рождения своей сестры — 2017. Python def f(n): s = 0 while (n != 0): s = s + n % 2 n = n // 2 return(s) Какое значение вернет функция ? Какое значение вернёт функция с тем же параметром, если в теле функции заменить число 2 на 10?
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Сибагатова Оксана.

Ответ:

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

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Я могу помочь вам с вашим вопросом о 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/).

0 0

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

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

Последние заданные вопросы в категории Информатика

Задать вопрос