Series de Fibonacci en Java utilizando el programa Recursion and Loops
¿Qué son las series de Fibonacci en Java?
Una serie de Fibonacci en Java es una serie de números en los que el siguiente número es la suma de los dos números anteriores. Los primeros dos números de la serie de Fibonacci son 0 y 1. Los números de Fibonacci se utilizan de manera 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, ...
- ¿Qué son las series de Fibonacci en Java?
- Programa de la serie Fibonacci en Java usando For Loop
- Programa de la serie Fibonacci en Java utilizando el ciclo while
- Serie de Fibonacci usando recursividad en Java
Programa de la serie Fibonacci en Java utilizando For Loop
//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:
- Número anterior se inicializa en 0 y Número siguiente se inicializa en 1
- El bucle For de Fibonacci itera a través de
maxNumber
- Mostrar el número anterior
- Calcula la suma del número anterior y el número siguiente
- Actualiza nuevos valores de número anterior y número siguiente
Programa de la serie Fibonacci en Java utilizando el ciclo while
También puede generar series Java Fibonacci usando un While
bucle en 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 WHILE Loop para imprimir números de Fibonacci
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 la serie Java Fibonacci, se le pide al usuario que escriba el número.
Series de Fibonacci usando recursividad en Java
A continuación se muestra un programa de la serie 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.
FibonacciRecursión():
- La función recursiva de Java 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 recursivamente. La llamada se hace dos veces. Veamos la serie de Fibonacci en Java usando un 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
Java
- Programa Java Hola Mundo
- Variables y literales de Java
- Expresiones, declaraciones y bloques de Java
- Objetos y clases de Java
- Clase abstracta de Java y métodos abstractos
- Clase interna y anidada de Java
- Java lanza y lanza
- Autoboxing y unboxing de Java
- Programa Java para comprobar el número primo
- Número de Armstrong en el programa JAVA utilizando For Loop
- Cómo invertir una cadena en Java usando recursión