Алгоритм вычисления функций и
задан следующими соотношениями:
при
при
Чему равна сумма цифр значения функции F(20)?
Решение программой:
from functools import lru_cache
def sum_of_digits(n): # Функция,подсчитывающая сумму цифр числа
s = 0
while n > 0:
s += n % 10
n //= 10
return s
@lru_cache(None)
def f(n):
if n == 1:
return 1
if n > 1:
return f(n - 1) + 2 * g(n - 1)
@lru_cache(None)
def g(n):
if n == 1:
return 1
if n > 1:
return f(n - 1) - 3 * g(n - 1)
print(sum_of_digits(f(20)))
Ответ: 39