Serie de Fibonacci en Java
¡Que tal! quiero compartir con ustedes la solución a un ejercicio que viene en el libro que vengo estudiando ("Piensa en Java de Bruce Eckel 4ª Ed.)
1: // Capítulo 4: Flujo de control. Pág 83.
2: /************************* Ejercicio 9 ****************************
3: * Una secuencia Fibonacci es la secuencia de números 1, 1, 2, 3, 5,
4: * 8, 13, 21, 34, etc., donde cada número (a partir del tercero) es
5: * la suma de los dos anteriores. Cree un método que tome un entero
6: * como argumento y muestre esa cantidad de números de Fibonacci co-
7: * menzando por el principio de la secuencia; por ejemlo, si ejecuta
8: * java Fibonacci 5 (donde Fibonacci es el nombre de la clase) la
9: * salida sería: 1, 1, 2, 3, 5.
10: ******************************************************************/
11: import static net.mindview.util.Print.*;
12: public class E09_Fibonacci {
13: public static void imprimir(int cantidad) {
14: int f;
15: int a1 = 0;
16: int a2 = 1;
17: printnb(a2 + ", ");
18: for(int i = 1; i < cantidad; i++) {
19: f = a1 + a2;
20: a1 = a2;
21: a2 = f;
22: printnb(f + ", ");
23: }
24: }
25: public static void main(String[] args) {
26: int cantidad = Integer.parseInt(args[0]);
27: if(cantidad > 0)
28: imprimir(cantidad);
29: else
30: print("La cantidad debe ser mayor a 0");
31: /*print();
32: imprimir(1);
33: print();
34: imprimir(2);
35: print();
36: imprimir(3);*/
37: }
38: }
Existe varias maneras de hacerlo: Recursiva, Iterativa y Divide y vencerás. El método iterativo que emplee es más rápido que el recursivo pero más lento que la versión de divide y vencerás. La solución en Java empleando recursión, se puede checar en este link. La descripción de cada uno de los algoritmos se puede ver en la Wikipedia.
¡Saludos!" y hasta la otra.
Advertisement
Categorías:Java, Programación

gracias