У меня проблема с домашней работой, которая дает рекурсивную функцию, и я должен реализовать ее с помощью хвостовой рекурсии. Функция:
f (0) = 1
f (n) = 1 + 2 * f (n-1)
Я не лучший в хвостовой рекурсии, и япытался найти примеры, но все, что я нашел, это примеры с последовательностью Фибоначчи, и это не очень помогает.
Все, что у меня действительно есть, это
def f(n,s=1):
if n == 0:
return s
else:
return f(n-1, "i dont know what to put here")
Я понимаю, что хвостовая рекурсия в основном вычисляет функциюкаждый звонок через я просто не знаю, как это реализовать.
Редактировать: Я сделал опечатку f (n) должен быть 1 + 2 * f (n-1)