Python - Secuencias Recursivas por Recursividad Anidada
####################################################
#11 Ejemplos de Secuencias Recursivas en Python:
#1. Secuencia de Fibonacci:
def fibonacci(n):
if n <= 1:
return n
else:
return fibonacci(n-1) + fibonacci(n-2)
#2. Secuencia de Lucas:
def lucas(n):
if n == 0:
return 2
elif n == 1:
return 1
else:
return lucas(n-1) + lucas(n-2)
#3. Secuencia de Pell:
def pell(n):
if n == 0:
return 0
elif n == 1:
return 1
else:
return 2*pell(n-1) + pell(n-2)
#4. Secuencia de Padovan:
def padovan(n):
if n == 0 or n == 1 or n == 2:
return 1
else:
return padovan(n-2) + padovan(n-3)
#5. Secuencia de Hofstadter Q:
def hofstadter_q(n):
if n == 0 or n == 1:
return 1
else:
return hofstadter_q(n - hofstadter_q(n-1)) + hofstadter_q(n - hofstadter_q(n-2))
#6. Secuencia de Hofstadter G:
def hofstadter_g(n):
if n == 0:
return 0
elif n == 1:
return 1
else:
return n - hofstadter_g(hofstadter_g(n-1))
#7. Secuencia de Jacobsthal:
def jacobsthal(n):
if n == 0:
return 0
elif n == 1:
return 1
else:
return jacobsthal(n-1) + 2*jacobsthal(n-2)
#8. Secuencia de Narayana:
def narayana(n):
if n == 0 or n == 1:
return 1
else:
return narayana(n-1) + narayana(n-2)
#9. Secuencia de Perrin:
def perrin(n):
if n == 0:
return 3
elif n == 1:
return 0
elif n == 2:
return 2
else:
return perrin(n-2) + perrin(n-3)
#10. Secuencia de Triangular:
def triangular(n):
if n == 0:
return 0
else:
return n + triangular(n-1)
#11. Secuencia de Pentanacci:
def pentanacci(n):
if n == 0 or n == 1 or n == 2:
return 0
elif n == 3 or n == 4:
return 1
else:
pentanacci_seq = [0, 0, 0, 1, 1]
for i in range(5, n+1):
pentanacci_seq.append(pentanacci_seq[i-1] + pentanacci_seq[i-2] + pentanacci_seq[i-3] + pentanacci_seq[i-4] + pentanacci_seq[i-5])
return pentanacci_seq[n]
# Ejemplo de uso
print(pentanacci(7)) # Salida: 2