Números Fibonacci

Aunque muchos ya habían notado el fenómeno de la crianza de conejos, fue Fibonacci quien lo describió matemáticamente. Lo enumeró como un problema en el cual se busca saber el número de conejos que nacerán después de un cierto número de meses. Esta misma sucesión también se observa en el crecimiento de las ramas de los árboles.

Los números Fibonacci pueden describirse como una función:

f (1) = 1,

f (2) = 1,

f (n > 2) = f (n – 1) + f (n – 2)

De tal manera, que los dos primeros números de la serie son iguales a 1. En algunos escritos también se puede encontrar  f (0) = 0,

Código en Java

El siguiente código es la versión repetitiva de este algoritmo. Debido a que los números de la sucesión pueden ser tan grandes, he utilizado BigInteger. Este programa no considera el caso 0, pero puede fácilmente modificarse.

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.math.BigInteger;

public class FibonacciMain {
    public static void main(String[] args) throws Exception {
        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.parseInt(in.readLine());
        BigInteger a = BigInteger.ONE;
        BigInteger b = BigInteger.ONE;
        BigInteger c;
        for (int i = 3; i <= n; i++) {
             c = a.add(b);
             a = b;
             b = c;
        }
        System.out.println(b);
    }
}

Si la entrada para este programa fuese:

100

Su salida sería:

354224848179261915075

One Comment

  1. Posted 20121014 at 2242 | Permalink

    Interesante……. Cuantos. Números binarios son=)

Post a Comment

Your email is never shared. Required fields are marked *

*
*