Serie di Fibonacci in Java utilizzando il programma di ricorsione e loop

In cosa consiste la serie di Fibonacci Java?

A Serie di Fibonacci in Java è una serie di numeri in cui il numero successivo è la somma dei due numeri precedenti. I primi due numeri della serie di Fibonacci sono 0 e 1. I numeri di Fibonacci sono utilizzati in modo significativo nello studio computazionale in fase di esecuzione di un algoritmo per determinare il massimo comune divisore di due numeri interi.

In aritmetica, la matrice di Wythoff è una matrice infinita di numeri risultante dalla sequenza di Fibonacci.

The Fibonacci sequence: 0, 1, 1, 2, 3, 5, 8, 13, 21, ...

Programma della serie di Fibonacci in Java utilizzando il ciclo 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;
	        }
	}
}

Produzione:

Fibonacci Series of 10 numbers:0 1 1 2 3 5 8 13 21 34

Logica del programma:

  • previousNumber è inizializzato su 0 e nextNumber è inizializzato su 1
  • Il Fibonacci For Loop scorre maxNumber
    • Visualizza il numero precedente
    • Calcola la somma di previousNumber e nextNumber
    • Aggiorna i nuovi valori di previousNumber e nextNumber

Programma della serie di Fibonacci in Java utilizzando il ciclo While

Puoi anche generare Java Serie di Fibonacci utilizzando a While entrare 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++;
	        }
 
	}
 
}

Produzione:

Fibonacci Series of 10 numbers:0 1 1 2 3 5 8 13 21 34

L'unica differenza nella logica del programma è l'utilizzo di MENTRE Ciclo per stampare Fibonacci Numbers

Serie di Fibonacci basate sull'input dell'utente

//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;
	        }
 
	}
 
}

Logica del programma:
La logica è la stessa di prima. Invece di codificare il numero di elementi da mostrare Java Serie di Fibonacci, all'utente viene chiesto di scrivere il numero.

Serie di Fibonacci utilizzando la ricorsione in Java

Di seguito è riportato un programma della serie di Fibonacci in Java utilizzando la ricorsione:

//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) +" ");
		}
	}
}


Produzione:

Fibonacci Series of 10 numbers: 0 1 1 2 3 5 8 13 21 34

Logica del programma:

Una funzione ricorsiva è una funzione che ha la capacità di richiamare se stessa.

ricorsione di fibonacci():

  1. Java La funzione di ricorsione di Fibonacci accetta un numero di input. Controlla 0, 1, 2 e restituisce 0, 1, 1 di conseguenza perché la sequenza di Fibonacci in Java inizia con 0, 1, 1.
  2. Quando l'input n è >=3, la funzione chiamerà se stessa in modo ricorsivo. La chiamata viene effettuata due volte. Vediamo la serie di Fibonacci in Java utilizzando l'esempio di ricorsione per l'input di 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

Ora il risultato viene aggiunto 0+1+1+0+1=3

Newsletter quotidiana di Guru99

Inizia la giornata con le ultime e più importanti notizie sull'intelligenza artificiale, pubblicate in questo momento.