Python - Secuencias Recursivas usando bucle for
##############################################
# 11 ejemplos de Secuencias Recursivas
# utilizando bucle for en Python:
#1. Secuencia de Fibonacci:
def fibonacci(n):
fib = [0, 1]
for i in range(2, n+1):
fib.append(fib[i-1] + fib[i-2])
return fib[n]
#2. Secuencia de Lucas:
def lucas(n):
luc = [2, 1]
for i in range(2, n+1):
luc.append(luc[i-1] + luc[i-2])
return luc[n]
#3. Secuencia de Pell:
def pell(n):
p = [0, 1]
for i in range(2, n+1):
p.append(2*p[i-1] + p[i-2])
return p[n]
#4. Secuencia de Padovan:
def padovan(n):
p = [1, 1, 1]
for i in range(3, n+1):
p.append(p[i-2] + p[i-3])
return p[n]
#5. Secuencia de Hofstadter Q:
def hofstadter_q(n):
q = [1, 1]
for i in range(2, n+1):
q.append(q[i-q[i-1]] + q[i-q[i-2]])
return q[n]
#6. Secuencia de Hofstadter G:
def hofstadter_g(n):
g = [0, 1]
for i in range(2, n+1):
g.append(i - g[g[i-1]])
return g[n]
#7. Secuencia de Jacobsthal:
def jacobsthal(n):
j = [0, 1]
for i in range(2, n+1):
j.append(j[i-1] + 2*j[i-2])
return j[n]
#8. Secuencia de Narayana:
def narayana(n):
nar = [1, 1]
for i in range(2, n+1):
nar.append(nar[i-1] + nar[i-2])
return nar[n]
#9. Secuencia de Perrin:
def perrin(n):
p = [3, 0, 2]
for i in range(3, n+1):
p.append(p[i-2] + p[i-3])
return p[n]
#10. Secuencia de Triangular:
def triangular(n):
tri = [0]
for i in range(1, n+1):
tri.append(tri[i-1] + i)
return tri[n]
#11. Secuencia de Pentanacci:
def pentanacci(n):
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: [0, 0, 0, 1, 1, 2, 4]