27.04.2025

Поляков 16-17

#     17) Алгоритм вычисления функции F(n) задан следующими соотношениями:
# 		F(n) = n + 3 при n < 3
# 		F(n) = (n + 2)·F(n–4), если n ≥ 3 и делится на 3,
# 		F(n) = n + F(n–1) + 2·F(n–2), если n ≥ 3 и не делится на 3.
# Чему равно значение функции F(20)?

def F(n):
    if n<3:
        return n+3
    if n>=3 and n%3==0:
        return (n+2)*F(n-4)
    if n>=3 and n%3!=0:
        return n+F(n-1) + 2*F(n-2)

print(F(20))