Fibonacci recursivo y con ciclos en Java

Sucesión fibonacci en Java: método iterativo y recursivo

En este artículo voy a explicar cómo imprimir la sucesión fibonacci en Java, y también expondré dos métodos para obtener el número fibonacci que iría en determinada posición.

Declararemos dos funciones: una iterativa o con ciclos y otra que utiliza recursión o recursividad para llamarse a sí misma.

Fibonacci recursivo y con ciclos en Java
Fibonacci recursivo y con ciclos en Java

Veamos entonces cómo implementar el algoritmo para la secuencia fibonacci en Java.

Sucesión fibonacci

Por si no sabes lo que es la serie fibonacci en Java, se trata de una sucesión que comienza en 0 y 1, y a partir de ello el siguiente número es la suma de los dos anteriores. Por lo tanto, la sucesión va así:

0, 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

En ese caso imprimimos la sucesión hasta la posición 20 (contando el 0). Pues eso haremos con Java: imprimir o saber qué número va en determinada posición de la sucesión fibonacci.

Fibonacci en Java con ciclos

Una vez que ya explicamos el algoritmo veamos el código de la función que usa un ciclo for.

Cuando se requiere calcular la sucesión de fibonacci con Java usando ciclos, declaramos dos variables: siguiente y actual. Dentro del ciclo (que va desde 1 hasta la posición) asignamos a siguiente el valor de siguiente más actual, pero “respaldando” la actual en una temporal.

Al final se regresa actual y ese es el número que va en la sucesión en esa posición.

Sucesión de fibonacci recursiva

Si queremos un enfoque recursivo y aplicando las matemáticas, podemos recurrir al de la forma de llamar a la misma función pero restando 1 al número, y sumando el resultado a lo que salga de llamar a la misma función de nuevo pero restando 2.

Por cierto, la recursividad se rompe cuando el número es menor a 2.

Modo de uso

Puedes pegar el código de las funciones dentro de la clase Main o en cualquier otro lugar. Recuerda, si vas a ponerlo en una clase que vas a instanciar, no es necesario declarar los métodos como estáticos.

En el ejemplo de arriba se obtiene la posición 20 de la serie de fibonacci, y el primer método se encarga de imprimir la serie. Vemos que con ambos métodos se obtiene el mismo resultado.

Finalmente te invito a ver más sobre Java o Algoritmos.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

Dejar un comentario