Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> Java

Fibonacci-serie in Java met behulp van het programma voor recursie en lussen

Wat is de Fibonacci-reeks in Java?

Een Fibonacci-reeks in Java is een reeks getallen waarin het volgende getal de som is van de vorige twee getallen. De eerste twee getallen van de Fibonacci-reeks zijn 0 en 1. De Fibonacci-getallen worden significant gebruikt in de computationele runtime-studie van een algoritme om de grootste gemene deler van twee gehele getallen te bepalen.

In de rekenkunde is de Wythoff-array een oneindige matrix van getallen die het resultaat is van de Fibonacci-reeks.

The Fibonacci sequence: 0, 1, 1, 2, 3, 5, 8, 13, 21, ...
  • Wat is de Fibonacci-reeks in Java?
  • Fibonacci Series-programma in Java met For Loop
  • Fibonacci Series-programma in Java met While Loop
  • Fibonacci-reeks met recursie in Java

Fibonacci Series-programma in Java met 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;
	        }
	}
}

Uitvoer:

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

Programmalogica:

  • previousNumber wordt geïnitialiseerd op 0 en nextNumber wordt geïnitialiseerd op 1
  • De Fibonacci For Loop herhaalt zich door maxNumber
    • Toon het vorige nummer
    • Berekent de som van previousNumber en nextNumber
    • Updatet nieuwe waarden van previousNumber en nextNumber

Fibonacci Series-programma in Java met While Loop

U kunt ook Java Fibonacci-serie genereren met een While lus in 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++;
	        }
 
	}
 
}

Uitvoer:

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

Het enige verschil in de programmalogica is het gebruik van WHILE Loop om Fibonacci-nummers af te drukken

Fibonacci-reeks op basis van gebruikersinvoer

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

Programmalogica:

De logica is hetzelfde als eerder. In plaats van het aantal elementen dat moet worden weergegeven in Java Fibonacci Series hard te coderen, wordt de gebruiker gevraagd om een ​​nummer te schrijven.

Fibonacci-reeks met behulp van recursie in Java

Hieronder staat een Fibonacci-serieprogramma in Java dat recursie gebruikt:

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


Uitvoer:

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

Programmalogica:

Een recursieve functie is een functie die zichzelf kan aanroepen.

fibonacciRecursion():

  1. De Java Fibonacci-recursiefunctie heeft een invoernummer. Controleert op 0, 1, 2 en retourneert overeenkomstig 0, 1, 1 omdat de Fibonacci-reeks in Java begint met 0, 1, 1.
  2. Als invoer n>=3 is, roept de functie zichzelf recursief aan. Er wordt twee keer gebeld. Laten we de Fibonacci-serie in Java bekijken met behulp van een recursievoorbeeld voor invoer van 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

Nu wordt het resultaat toegevoegd 0+1+1+0+1=3


Java

  1. Java Hallo Wereld-programma
  2. Java-variabelen en -letters
  3. Java-uitdrukkingen, verklaringen en blokken
  4. Java-klasse en objecten
  5. Java abstracte klasse en abstracte methoden
  6. Java geneste en innerlijke klasse
  7. Java worp en worpen
  8. Java autoboxing en unboxing
  9. Java-programma om priemgetal te controleren
  10. Armstrong-nummer in JAVA-programma met For Loop
  11. Een tekenreeks in Java omkeren met behulp van recursie