Seria Fibonacci în Java folosind programul de recursivitate și bucle
În ce este seria Fibonacci Java?
A Seria Fibonacci in Java este o serie de numere în care următorul număr este suma celor două numere anterioare. Primele două numere ale seriei Fibonacci sunt 0 și 1. Numerele Fibonacci sunt utilizate în mod semnificativ în studiul computațional în timp de rulare al unui algoritm pentru a determina cel mai mare divizor comun a două numere întregi.
În aritmetică, tabloul Wythoff este o matrice infinită de numere care rezultă din secvența Fibonacci.
The Fibonacci sequence: 0, 1, 1, 2, 3, 5, 8, 13, 21, ...
Programul Seria Fibonacci în Java folosind 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; } } }
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
- Bucla Fibonacci For iterează
maxNumber
- Afișați numărul anterior
- Calculează suma dintre numărul anterior și numărul următor
- Actualizează noile valori ale numărului anterior și numărului următor
Programul Seria Fibonacci în Java folosind While Loop
De asemenea, puteți genera Java Seria Fibonacci folosind a While
buclă înăuntru 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++; } } }
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 tipări Fibonacci Numbers
Seria Fibonacci bazată pe intrarea utilizatorului
//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 programului:
Logica este aceeași ca mai devreme. În loc să codificați numărul de elemente de afișat Java Seria Fibonacci, utilizatorului i se cere să scrie numărul.
Seria Fibonacci folosind recursiunea în Java
Mai jos este un program din seria Fibonacci în Java folosind recursiunea:
//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) +" "); } } }
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 autodenomina.
FibonacciRecursiune():
- Java Funcția de recursivitate Fibonacci ia un număr de intrare. Verifică 0, 1, 2 și returnează 0, 1, 1 în consecință, deoarece secvența Fibonacci în Java începe cu 0, 1, 1.
- Când intrarea n este >=3, funcția se va apela recursiv. Apelul se face de două ori. Să vedem seria Fibonacci în Java folosind un exemplu de recursivitate pentru intrarea lui 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
Acum rezultatul se adaugă 0+1+1+0+1=3