Faça uma função recursiva que receba um número
e retorne o
-ésimo termo da sequência de tetranacci. Os números tetranacci iniciam com quatro termos pré-determinados e a partir daí todos os demais números são obtidos pela soma dos quatro números anteriores. Os primeiros números tetranacci são:
Passo 1
O enunciado pede para criar uma função recursiva que, dado um inteiro N, retorne o N-ésimo termo da sequência de tetranacci. Esse conteúdo envolve programação recursiva e a definição de casos-base mais a relação de recorrência.
Passo 2
Primeiro precisamos identificar os casos-base da sequência. Pelos termos iniciais 0, 0, 0, 1, temos: para N=1,2,3 retorna 0; para N=4 retorna 1.
Passo 3
Em seguida definimos a relação de recorrência: para N>4, o termo de tetranacci é a soma dos quatro termos anteriores, ou seja, T(N)=T(N−1)+T(N−2)+T(N−3)+T(N−4).
Passo 4
Por fim, implementamos a função juntando casos-base e chamada recursiva conforme a relação definida. A função deve também validar N positividade.
Resposta
def tetranacci(n):
# valida N positivo
if n <= 0:
raise ValueError(“N deve ser maior que zero”)
# casos-base
if n <= 3:
return 0
if n == 4:
return 1
# chamada recursiva conforme relação de tetranacci
return (tetranacci(n-1)
+ tetranacci(n-2)
+ tetranacci(n-3)
+ tetranacci(n-4))
# valida N positivo
if n <= 0:
raise ValueError(“N deve ser maior que zero”)
# casos-base
if n <= 3:
return 0
if n == 4:
return 1
# chamada recursiva conforme relação de tetranacci
return (tetranacci(n-1)
+ tetranacci(n-2)
+ tetranacci(n-3)
+ tetranacci(n-4))