agosto 20, 2012

Sucesión de Fibonacci

En matemáticas la Sucesión de Fibonacci es una serie de números, esta serie inicia con 0 y 1, después de estos los siguientes elementos están dados por la suma de los dos anteriores:
     0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89... 
La serie Fibonacci debe tener 2 estados básicos iniciales (el 0 y 1). Se presenta la siguiente tabla para ilustrar mejor el comportamiento de los números de Fibonacci:


El siguiente es un programa que muestra la sucesión de Fibonacci, solo hay que introducirle un numero entero de cuantos números queramos visualizar:
/**
 * http://www.buenasintencions.blogspot.mx/
 * @author Anibal Clavel
 */

import java.util.*;

public class Fibonacci{
    
    public static void main (String[] args){
        
        Scanner entrada = new Scanner(System.in);
        
        System.out.println("¿Cuantos numeros desea ver?:");
        int limite = entrada.nextInt();
        int a=0,b=1,c;
        
        for(int contador=0; contador < limite; contador++){
            c = a+b;
            a = b;
            b = c;
            System.out.print(a+", ");
        }
    }
}
Este es un programa muy sencillo. Se crea un objeto entrada de la clase Scanner para pedir al usuario cuantos números de la serie Fibonacci desea ver. Después en la línea 16 se declaran 3 variables de tipo int, a y b, serán los estados básicos iniciales de la sucesión, por tanto se les asigna 0 y 1 respectivamente. La variable c es una auxiliar que nos ayudara a almacenar cantidades sumadas de a y b.

Ahora hacemos un contador que se ciclará hasta cuanta cantidad de números haya pedido ver el usuario. En la linea 19 a c le asignamos la suma de a y b; esto nos servirá para que posteriormente el contenido de c se le asigne a b (haciendo b como el predecesor inmediato del numero fibonacci que se calculará en el siguiente ciclo del for), no se asigna a b la suma de a más b, debido a que necesitamos el estado inicial de b (1) para el calculo del numero fibonacci en el ciclo actual.
En la linea 20 a nuestra variable a asignamos el contenido de b (haciendo con esto que a sea el segundo predecesor de numero fibonacci que se calculara). Por ultimo en la linea 21 asignamos el contenido de c a nuestra variable b, para lo anteriormente explicado sobre la linea 19.

Al final del ciclo se irá imprimiendo la variable a, ya que es donde se esta obteniendo el numero fibonacci para mostrar. A continuación se explica mediante una tabla el funcionamiento del programa, en esta tabla se puede apreciar el comportamiento de las variables a, b y c durante los ciclos que requiera el programa (la cantidad de ciclos esta dada por la respuesta que introdujo el usuario).

Los números de las filas de c, a y b son los valores que van tomando cada variable con respecto al numero de iteración del for (en las columnas: 1, 2, 3, 4, 5... n).

No hay comentarios.:

Publicar un comentario