Serie de Fibonacci en Java usando el programa de recursividad y bucles
¿En qué consiste la serie de Fibonacci? Java?
A Serie de Fibonacci in Java es una serie de números en la que el siguiente número es la suma de los dos números anteriores. Los dos primeros números de la serie de Fibonacci son 0 y 1. Los números de Fibonacci se utilizan de forma significativa en el estudio computacional en tiempo de ejecución de un algoritmo para determinar el máximo común divisor de dos números enteros.
En aritmética, la matriz de Wythoff es una matriz infinita de números resultantes de la secuencia de Fibonacci.
The Fibonacci sequence: 0, 1, 1, 2, 3, 5, 8, 13, 21, ...
Programa de la serie Fibonacci en Java usando bucle For
//Using For Loop public class FibonacciExample { public static void main(String[] args) { // Set it to the number of elements you want in the Fibonacci Series int maxNumber = 10; int previousNumber = 0; int nextNumber = 1; System.out.print("Fibonacci Series of "+maxNumber+" numbers:"); for (int i = 1; i <= maxNumber; ++i) { System.out.print(previousNumber+" "); /* On each iteration, we are assigning second number * to the first number and assigning the sum of last two * numbers to the second number */ int sum = previousNumber + nextNumber; previousNumber = nextNumber; nextNumber = sum; } } }
Salida:
Fibonacci Series of 10 numbers:0 1 1 2 3 5 8 13 21 34
Lógica del programa:
- El número anterior se inicializa en 0 y el número siguiente se inicializa en 1.
- El bucle For de Fibonacci recorre en iteración
maxNumber
- Mostrar el número anterior
- Calcula la suma de anteriorNumber y nextNumber
- Actualiza nuevos valores de anteriorNumber y nextNumber
Programa de la serie Fibonacci en Java usando el bucle while
También puede generar Java Serie de Fibonacci usando un While
incluyete Java
//Using While Loop public class FibonacciWhileExample { public static void main(String[] args) { int maxNumber = 10, previousNumber = 0, nextNumber = 1; System.out.print("Fibonacci Series of "+maxNumber+" numbers:"); int i=1; while(i <= maxNumber) { System.out.print(previousNumber+" "); int sum = previousNumber + nextNumber; previousNumber = nextNumber; nextNumber = sum; i++; } } }
Salida:
Fibonacci Series of 10 numbers:0 1 1 2 3 5 8 13 21 34
La única diferencia en la lógica del programa es el uso de Mientras bucle imprimir Fibonacci Numbers
Serie de Fibonacci basada en la entrada del usuario
//fibonacci series based on the user input import java.util.Scanner; public class FibonacciExample { public static void main(String[] args) { int maxNumber = 0; int previousNumber = 0; int nextNumber = 1; System.out.println("How many numbers you want in Fibonacci:"); Scanner scanner = new Scanner(System.in); maxNumber = scanner.nextInt(); System.out.print("Fibonacci Series of "+maxNumber+" numbers:"); for (int i = 1; i <= maxNumber; ++i) { System.out.print(previousNumber+" "); /* On each iteration, we are assigning second number * to the first number and assigning the sum of last two * numbers to the second number */ int sum = previousNumber + nextNumber; previousNumber = nextNumber; nextNumber = sum; } } }
Lógica del programa:
La lógica es la misma que antes. En lugar de codificar el número de elementos que se mostrarán en Java Serie Fibonacci, se le pide al usuario que escriba un número.
Serie de Fibonacci usando recursividad en Java
A continuación se muestra un programa de series de Fibonacci en Java usando recursividad:
//Using Recursion public class FibonacciCalc{ public static int fibonacciRecursion(int n){ if(n == 0){ return 0; } if(n == 1 || n == 2){ return 1; } return fibonacciRecursion(n-2) + fibonacciRecursion(n-1); } public static void main(String args[]) { int maxNumber = 10; System.out.print("Fibonacci Series of "+maxNumber+" numbers: "); for(int i = 0; i < maxNumber; i++){ System.out.print(fibonacciRecursion(i) +" "); } } }
Salida:
Fibonacci Series of 10 numbers: 0 1 1 2 3 5 8 13 21 34
Lógica del programa:
Una función recursiva es aquella que tiene la capacidad de llamarse a sí misma.
Recursión de Fibonacci():
- La Java La función de recursividad de Fibonacci toma un número de entrada. Comprueba 0, 1, 2 y devuelve 0, 1, 1 en consecuencia porque la secuencia de Fibonacci en Java comienza con 0, 1, 1.
- Cuando la entrada n es >=3, la función se llamará a sí misma de forma recursiva. La llamada se realiza dos veces. Veamos la Serie de Fibonacci en Java usando el ejemplo de recursividad para la entrada de 4.
fibonacciRecursion (4) It will recursively call fibonacciRecursion function for values 2 and 3 fibonacciRecursion (2) \\ call for value 0 and 1 fibonacciRecursion (0) = 0 fibonacciRecursion (1) = 1 fibonacciRecursion (3) \\ It will call for 1 and 2 fibonacciRecursion (1) = 1 fibonacciRecursion (2) \\ It will call for 0 and 1 fibonacciRecursion (0) = 0 fibonacciRecursion (1) = 1
Ahora se suma el resultado 0+1+1+0+1=3