16.01 Одна функция
Ошибка.
Попробуйте повторить позже
Алгоритм вычисления значения функции , где
— целое неотрицательное число, задан следующими
соотношениями:
, при
, если
и кратно 3
, если
и некратно 3
Чему равна сумма четных цифр числа, полученного при выполнении вызова ?
Примечание: знак «/» обозначает целочисленное деление.
Рекурсивное решение
В задаче задан рекурсивный алгоритм, при котором функция в процессе вычислений вызывает сама себя с другими
аргументами. Для реализации создаём пользовательскую функцию в Python с помощью . Внутри функции используем
условный оператор
, чтобы задать ветвление: при
—
; при
и
кратно
—
; при
и
не кратно
—
. После вычисления
нужно найти сумму чётных цифр результата.
def f(n): # База для n < 6: if n < 6: return 2 * n + 1 # Ветвь 1: n > 5 и кратно 3 if n > 5 and n % 3 == 0: return 2 * f(n - 1) + f(n // 2) + n # Ветвь 2: n > 5 и не кратно 3 if n > 5 and n % 3 != 0: return 2 * n * n + f(n - 1) + f(n // 2)
После вычисления нужно найти сумму чётных цифр результата. Для этого можно:
(1) преобразовать число в строку и просуммировать цифры из множества
s = str(f(85)) # Суммируем только чётные цифры (0,2,4,6,8) sum_even = 0 for ch in s: d = int(ch) if d % 2 == 0: sum_even += d print(sum_even)
(2) сделать арифметический разбор по разрядам, добавляя к сумме каждую чётную цифру.
ans = 0 res = f(85) while res > 0: # Берём последнюю цифру digit = res % 10 # Если цифра чётная, добавляем в сумму if digit % 2 == 0: ans += digit # Отбрасываем последнюю цифру res //= 10 print(ans)
Специальные программы

Программа
лояльности v2.0
Приглашай друзей в Школково и получай вознаграждение до 10%!

Крути рулетку
и выигрывай призы!
Крути рулетку и покупай курсы со скидкой, которая привязывается к вашему аккаунту.

Бесплатное онлайн-обучение
Для школьников из приграничных территорий России, проживающих в ДНР, ЛНР, Херсонской, Запорожской, Белгородской, Курской, Брянской областях и Крыму.

Налоговые вычеты
Узнай, как получить налоговый вычет при оплате обучения в «Школково».

Специальное предложение
для учителей
Бесплатный доступ к любому курсу подготовки к ЕГЭ, ОГЭ и олимпиадам от «Школково». Мы с вами делаем общее и важное дело, а потому для нас очень значимо быть чем-то полезными для учителей по всей России!

Вернём деньги за курс
за твою сотку на ЕГЭ
Сдать экзамен на сотку и получить обратно деньги за подготовку теперь вполне реально!