jueves, 29 de septiembre de 2011

Algoritmo recursivo para calcular el n-esimo termino de la serie de Lucas en C

en este programa vamos a calcular la serie de Lucas la cual se debe al matematico frances Edouard Lucas el cual dio a la serie de numeros 0,1,1,2,3,5,8,13,... el nombre de Numeros de Fibonacci, encontro una serie similar que se da al buscar los patrones de los Numeros de Fibonacci. Esta regla consiste en formar el ultimo numero de la serie a partir de sus 2 anteriores, similar a Fibonacci pero en vez de usar 0 y 1, comenzamos con 2 y 1 como se puede ver a continuacion:


2, 1, 3, 4, 7, 11, 18, ...


para encontrar el n-esimo numero de esta serie vamos a hacer un programa el cual nos pida el n esimo numero que queremos encontrar y a partir de ahi utilizamos un algoritmo recursivo el cual ira formando los 2 numeros que deben sumarse para hallar el n esimo termino. Utilizaremos las funciones printf y scanf y para almacenar el valor ingresado como entero utilizaremos el %d:
int lucas(int n);
int main()
{
    int i;
    printf("Algoritmo de Lucas \n");
    printf("Ingrese un numero entero: ");
    scanf("%d", &i);
    printf("El %d-esimo de la serie de Lucas es %d \n",i,lucas(i));
    system("Pause");
    return 0;   
}
int lucas(int n)
{
    int res;
    if(n==1) return 2;
    else if(n==2) return 1;
    else return lucas(n-1)+lucas(n-2);    
}

0 comentarios:

Publicar un comentario