Условие КЕГЭ: Тип 5 № 610 Условие Поляков: Тип 16 № 3123
Алгоритм вычисления значения функции F(n), где n — натуральное число, задан следующими соотношениями:
F(n) = 1 + 2·n при n < 5
F(n) = 2·(n + 1)·F(n–2), если n ≥ 5 и делится на 3,
F(n) = 2·n + 1 + F(n–1) + 2·F(n–2), если n ≥ 5 и не делится на 3.
Чему равно значение функции F(15)?
Вариант 1: решение через рекурсивную функцию
Комментарии к первому варианту решения задачи:
1 + 2*n
n ≥ 5
и делится на 32 * (n + 1) * F(n – 2)
# то есть используем рекурсиюn ≥ 5
и не делится на 32 * n + 1 + F(n–1) + 2 * F(n–2)
# Код решения Вариант 1
def F(n):
if n < 5:
return 1 + 2 * n
if n >= 5 and n % 3 == 0:
return 2 * (n + 1) * F(n - 2)
if n >= 5 and n % 3 != 0:
return 2 * n + 1 + F(n - 1) + 2 * F(n - 2)
print(F(15))