Programma della serie Fibonacci in Java che utilizza i loop & Ricorsione

Sommario:

Anonim

Cos'è la serie di Fibonacci?

Nella serie di Fibonacci, 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 dell'algoritmo per determinare il massimo comune divisore di due numeri interi. In aritmetica, l'array di Wythoff è una matrice infinita di numeri risultante dalla sequenza di Fibonacci.

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

Codice Java utilizzando For Loop

// Using For Looppublic class FibonacciExample {public static void main (String [] args){// Impostalo sul numero di elementi che desideri nella serie di Fibonacciint maxNumber = 10;int previousNumber = 0;int nextNumber = 1;System.out.print ("Serie di Fibonacci" + maxNumber + "numeri:");for (int i = 1; i <= maxNumber; ++ i){System.out.print (previousNumber + "");/ * Ad ogni iterazione, assegniamo un secondo numero* al primo numero e assegnando la somma degli ultimi due* numeri al secondo numero* /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 viene inizializzato su 0 e nextNumber viene inizializzato su 1
  • For Loop itera attraverso maxNumber
    • Visualizza il previousNumber
    • Calcola la somma di previousNumber e nextNumber
    • Aggiorna i nuovi valori di previousNumber e nextNumber

Codice Java utilizzando While Loop

Puoi anche generare la serie di Fibonacci usando un file

While loop in Java.
// Utilizzo di While Looppublic class FibonacciWhileExample {public static void main (String [] args){int maxNumber = 10, previousNumber = 0, nextNumber = 1;System.out.print ("Serie di Fibonacci" + maxNumber + "numeri:");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'uso di WHILE Loop per stampare i numeri di Fibonacci

Serie di Fibonacci basata sull'input dell'utente

// serie di fibonacci basata sull'input dell'utenteimport java.util.Scanner;public class FibonacciExample {public static void main (String [] args){int maxNumber = 0;int previousNumber = 0;int nextNumber = 1;System.out.println ("Quanti numeri vuoi in Fibonacci:");Scanner scanner = nuovo Scanner (System.in);maxNumber = scanner.nextInt ();System.out.print ("Serie di Fibonacci" + maxNumber + "numeri:");for (int i = 1; i <= maxNumber; ++ i){System.out.print (previousNumber + "");/ * Ad ogni iterazione, assegniamo un secondo numero* al primo numero e assegnando la somma degli ultimi due* numeri al secondo numero* /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 nella serie di Fibonacci, all'utente viene chiesto di scrivere il numero.

Codice Java che utilizza la ricorsione

// Utilizzo della ricorsionepublic class FibonacciCalc {public static int fibonacciRecursion (int n) {if (n == 0) {return 0;}se (n == 1 || n == 2) {ritorno 1;}return fibonacciRecursion (n-2) + fibonacciRecursion (n-1);}public static void main (String args []) {int maxNumber = 10;System.out.print ("Serie di Fibonacci" + maxNumber + "numeri:");for (int i = 0; i  Produzione: 
Fibonacci Series of 10 numbers: 0 1 1 2 3 5 8 13 21 34
Logica del programma:

Una funzione ricorsiva è quella che ha la capacità di chiamare se stessa.

fibonacciRecursion ():

  1. Accetta un numero di input. Controlla 0, 1, 2 e restituisce 0, 1, 1 di conseguenza perché la sequenza di Fibonacci inizia con 0, 1, 1.
  2. Quando l'input n è> = 3, la funzione chiamerà se stessa in modo ricorsivo. La chiamata viene eseguita due volte. Vediamo un esempio per l'ingresso di 4.
fibonacciRecursion (4)It will recursively call fibonacciRecursion function for values 2 and 3fibonacciRecursion (2) \\ call for value 0 and 1fibonacciRecursion (0) = 0fibonacciRecursion (1) = 1fibonacciRecursion (3) \\ It will call for 1 and 2fibonacciRecursion (1) = 1fibonacciRecursion (2) \\ It will call for 0 and 1fibonacciRecursion (0) = 0fibonacciRecursion (1) = 1

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