Programul Seriei Fibonacci în Java folosind Loops & Recursivitate

Cuprins:

Anonim

Ce este seria Fibonacci?

În seria Fibonacci, următorul număr este suma celor două numere anterioare. Primele două numere din seria Fibonacci sunt 0 și 1.

Numerele Fibonacci sunt utilizate în mod semnificativ în studiul de calcul al timpului de rulare a algoritmului pentru a determina cel mai mare divizor comun al a două numere întregi. În aritmetică, matricea Wythoff este o matrice infinită de numere rezultate din secvența Fibonacci.

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

Cod Java folosind For Loop

// Utilizarea pentru buclăpublic class FibonacciExample {public static main main (String [] args){// Setați-l la numărul de elemente dorite în seria Fibonacciint Număr maxim = 10;int Numărul precedent = 0;int NextNumber = 1;System.out.print ("Seria Fibonacci de" + Număr maxim + "numere:");for (int i = 1; i <= maxNumber; ++ i){System.out.print (previousNumber + "");/ * La fiecare iterație, alocăm al doilea număr* primului număr și atribuirea sumei ultimelor două* numere până la al doilea număr* /int sumă = Numărul precedent + Numărul următor;Numărul precedent = Numărul următor;NextNumber = suma;}}}
Ieșire:
Fibonacci Series of 10 numbers:0 1 1 2 3 5 8 13 21 34
Logica programului:
  • previousNumber este inițializat la 0 și nextNumber este inițializat la 1
  • Pentru Buclă se repetă maxNumber
    • Afișați Numărul anterior
    • Calculează suma numărului precedent și a numărului următor
    • Actualizează valorile noi ale numărului precedent și numărului următor

Cod Java folosind While Loop

De asemenea, puteți genera Seria Fibonacci folosind un

While buclă în Java.
// Folosirea While Looppublic class FibonacciWhileExample {public static main main (String [] args){int Număr maxim = 10, Număr anterior = 0, Număr următor = 1;System.out.print ("Seria Fibonacci de" + Număr maxim + "numere:");int i = 1;while (i <= maxNumber){System.out.print (previousNumber + "");int sumă = Numărul precedent + Numărul următor;Numărul precedent = Numărul următor;NextNumber = suma;i ++;}}}
Ieșire:
Fibonacci Series of 10 numbers:0 1 1 2 3 5 8 13 21 34

Singura diferență în logica programului este utilizarea WHILE Loop pentru a imprima numerele Fibonacci

Seria Fibonacci pe baza datelor introduse de utilizator

// seria Fibonacci pe baza datelor introduse de utilizatorimport java.util.Scanner;public class FibonacciExample {public static main main (String [] args){int Număr maxim = 0;int Numărul precedent = 0;int NextNumber = 1;System.out.println („Câte numere doriți în Fibonacci:”);Scanner scanner = Scanner nou (System.in);maxNumber = scanner.nextInt ();System.out.print ("Seria Fibonacci de" + Număr maxim + "numere:");for (int i = 1; i <= maxNumber; ++ i){System.out.print (previousNumber + "");/ * La fiecare iterație, alocăm al doilea număr* primului număr și atribuirea sumei ultimelor două* numere până la al doilea număr* /int sumă = Numărul precedent + Numărul următor;Numărul precedent = Numărul următor;NextNumber = suma;}}}
Logica programului:

Logica este la fel ca mai devreme. În loc să codeze hard numărul de elemente de afișat în seria Fibonacci, utilizatorul este rugat să scrie numărul.

Cod Java folosind Recursivitate

// Utilizarea recursiuniipublic class FibonacciCalc {public static int fibonacciRecursion (int n) {if (n == 0) {retur 0;}if (n == 1 || n == 2) {retur 1;}returnează FibonacciRecursion (n-2) + FibonacciRecursion (n-1);}public static main main (String args []) {int Număr maxim = 10;System.out.print ("Seria Fibonacci de" + Număr maxim + "numere:");for (int i = 0; i  Ieșire: 
Fibonacci Series of 10 numbers: 0 1 1 2 3 5 8 13 21 34
Logica programului:

O funcție recursivă este una care are capacitatea de a se autosesiza.

FibonacciRecursion ():

  1. Ia un număr de intrare. Verifică 0, 1, 2 și returnează 0, 1, 1 în consecință, deoarece secvența Fibonacci începe cu 0, 1, 1.
  2. Când intrarea n este> = 3, funcția se va apela recursiv. Apelul se face de două ori. Să vedem un exemplu pentru introducerea a 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

Acum rezultatul este adăugat 0 + 1 + 1 + 0 + 1 = 3