ElTicus.com

Programación, lenguajes y recursos para programadores

Código fuente
Programa recursivo para calcular los números de la serie de Fibonacci en C++
Incluye el código fuente
Publicado por JL Fecha: 2007-07-22 20:10:03 Idioma: Español Tipo de documento: Código fuente

Sucesión de Fibonacci Por medio de un algoritmo con recursión

Programa fuente en C++

Programa fuente en lenguaje C que calcula la famosa sucesión de Fibonacci por medio de una funciónque realiza llamadas sucesivas a si misma (Recursividad). El programa muestra las sumas que se van realizando en cada etapa.


En matemáticas, la secuencia de Fibonacci es una sucesión de números enteros que fue descrita por primera vez en Europa por Leonardo de Pisa, también conocido como Fibonacci.

La seríe comienza con 1,1 aunque en algunas implementaciones se puede agregar un cero al inicio iniciandola con 0,1 y el siguiente número consiste en la suma de los dos anteriores (Ej. 1,1,2,3,5,8,13,21, ...)

El programa utiliza una función llamada FibonacciRecursivo() que recibe como parámetro el número de elementos de la serie que van a ser calculados.

Para el manejo de los valores se utilizaron variables de tipo long las cuales pueden ser facilmente rebasadas en cuanto a su capacidad con series muy largas, por ejemplo, si se le pide calcular 50 elementos o más. Esto no está validado ya que no era necesario para los fines académicos que el algoritmo busca.

#include <iostream.h>
#include <stdio.h>
#include <conio.h>

/* Programa para calcular la serie del
fibonacci en forma recursiva */

int FibonacciRecursivo(int Num) {
   int valor;
   if (Num==0 || Num==1) {
      return (Num);
   }else {
      valor=FibonacciRecursivo(Num-1) + FibonacciRecursivo(Num - 2);
      textcolor(4);
      printf("F(%d)= F(%d)+F(%d) = %d\n\r",Num,Num-1,Num-2,valor);
      return (valor);
   }
}

void main()
{
 int Numero;
 int Fib;

 clrscr();
 printf("\n\n*** PROGRAMA PARA CALCULAR E IMPRIMIR LA SERIE DEL FIBONACCI *** \n\n ");
 printf("Cuantos d¡gitos deseas calcular: ");
 cin >> Numero;

 FibonacciRecursivo(Numero);

 printf("\n\n\rPresiona una tecla...");
 getch();
}

La Serie del Fibonacci también se puede calcular sin recursividad por medio del empleo de ciclos. Lo puedes ver [liga a="index.php?contenido=46"]Aquí


A continuación un listado de los primeros 50 elementos de la serie:

1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, 28657, 46368, 75025, 121393, 196418, 317811, 514229, 832040, 1346269, 2178309, 3524578, 5702887, 9227465, 14930352, 24157817, 39088169, 63245986, 102334155, 165580141, 267914296, 433494437, 701408733, 1134903170, 1836311903, 2971215073, 4807526976, 7778742049, 12586269025, 20365011074, 32951280099, 53316291173, 86267571272, ...


También puedes ver el diagrama de flujo del algoritmo [liga a="index.php?contenido=47"]Aquí




Nadie ha puesto ningún comentario todavía


Haz un comentario sobre este tema
Nombre email (no se muestra)
comentario:
Escribe las 2 letras que ves aquí: Imagen anti-spam =




No hay comentarios

Artículos relacionados:
Código fuente Otra implementación de la serie del fibonacci en C++ Código fuente Programa en C++ para calcular e imprimir la serie de Fibonacci