Ejercicios para practicar el pensamiento recursivo y la implementación de algoritmos sin el uso de lazos explícitos. La recursión es una técnica donde una función se llama a sí misma para resolver subproblemas más pequeños.
1: Matemática Recursiva¶
Implementar las siguientes operaciones matemáticas para enteros positivos de manera recursiva.
1.1: Factorial¶
El factorial de un entero no negativo , denotado como , es el producto de todos los enteros positivos menores o iguales a .
La definición recursiva es:
1.2: Suma¶
Definir la suma de de forma recursiva. La idea es decrementar uno de los operandos hasta llegar a un caso base.
1.3: Producto¶
Definir el producto usando sumas y recursividad.
1.4: Potencia¶
Definir la potencia usando productos y recursividad.
2: Series Recursivas¶
2.1: Fibonacci¶
Implementar una función que calcule el n-ésimo término de la serie de Fibonacci, definida por la relación de recurrencia:
3: Arreglos Recursivos¶
Implementar las siguientes funciones sobre arreglos usando recursividad. La clave es pasar un sub-arreglo más pequeño en cada llamada, usualmente incrementando el puntero de inicio.
3.1: Mostrar arreglo¶
Imprimir el primer elemento y luego llamar a la función con el resto del arreglo.
3.2: Mostrar arreglo invertido¶
Llamar a la función con el resto del arreglo y luego imprimir el primer elemento.
3.3: Suma de valores¶
Sumar el primer elemento con el resultado de llamar a la función sobre el resto del arreglo.
4: Cadenas Recursivas¶
4.1: Palíndromo¶
Implementar una función recursiva que determine si una cadena es un palíndromo. Un palíndromo se lee igual en ambos sentidos.
Lógica recursiva: Una cadena es un palíndromo si:
Su primer y último carácter son iguales, Y
La subcadena entre ellos también es un palíndromo.
Caso Base: Una cadena vacía o de un solo carácter es un palíndromo.
Ejemplo: neuquen
`es_palindromo(