La secuencia de Fibonacci es una serie de números en la que cada número es la suma de los dos anteriores, comenzando con 0 y 1. Matemáticamente, la secuencia se define como (F(n) = F(n-1) + F(n-2)), con valores iniciales (F(0) = 0, F(1) = 1). Esta secuencia lleva el nombre de Leonardo de Pisa, conocido como Fibonacci, quien introdujo esta serie a las matemáticas occidentales en el siglo XIII, aunque sus propiedades ya eran conocidas en la India antigua.
La secuencia de Fibonacci es famosa no solo en matemáticas, sino también en áreas como la informática, la teoría de juegos, la economía, y la biología, debido a su aparición frecuente en fenómenos naturales y estructuras, incluyendo la disposición de las hojas en un tallo, la fructificación en las piñas, y la disposición de las semillas en el girasol.
Implementación en C
Para calcular la secuencia de Fibonacci en C, se pueden utilizar diferentes enfoques, como la iteración o la recursividad. A continuación, se muestra cómo implementar ambos métodos en C.
Método Iterativo
El método iterativo es eficiente y directo. Utiliza un bucle para calcular sucesivamente cada número de la secuencia hasta alcanzar el término deseado.
#include <stdio.h>
// Función para calcular el n-ésimo término de Fibonacci de forma iterativa
int fibonacciIterativo(int n) {
int primero = 0, segundo = 1, siguiente;
for (int i = 0; i < n; i++) {
if (i <= 1) {
siguiente = i;
} else {
siguiente = primero + segundo;
primero = segundo;
segundo = siguiente;
}
}
return siguiente;
}
int main() {
int n = 10; // Calcular hasta el décimo término
printf("El término %d de la secuencia de Fibonacci es: %d\n", n, fibonacciIterativo(n));
return 0;
}
Método Recursivo
La recursividad es una forma elegante pero menos eficiente de calcular la secuencia de Fibonacci, ya que implica muchas llamadas redundantes a la función con los mismos valores.
#include <stdio.h>
// Función para calcular el n-ésimo término de Fibonacci de forma recursiva
int fibonacciRecursivo(int n) {
if (n <= 1) {
return n;
} else {
return fibonacciRecursivo(n-1) + fibonacciRecursivo(n-2);
}
}
int main() {
int n = 10; // Calcular hasta el décimo término
printf("El término %d de la secuencia de Fibonacci es: %d\n", n, fibonacciRecursivo(n));
return 0;
}
Conclusión
La secuencia de Fibonacci es un concepto fascinante que encuentra aplicaciones en diversas disciplinas. Su implementación en C puede realizarse de manera eficiente mediante métodos iterativos o de forma más conceptual (aunque con mayor costo computacional) mediante recursividad. Elegir entre un método u otro depende del contexto específico de uso, considerando la eficiencia y la claridad del código. Este ejercicio no solo ayuda a entender mejor la secuencia de Fibonacci, sino que también ofrece una oportunidad para practicar conceptos fundamentales de programación en C, como bucles y recursividad.
Gracias por visitar mi blog de informática, mi nombre es Tomás y soy formador y desarrollador web. Si quiere usted dejarme alguna sugerencia, ayuda o quiere un servicio de formación estoy escuchando ofertas en tomas.gonzalez@infogonzalez.com, en Facebook a https://www.facebook.com/Infogonzalez estoy deseando escucharle. Su duda o sugerencia NO molesta.