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():

  1. El 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.
  2. 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

Resumir este post con: