Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> Java

Série Fibonacci em Java usando o programa de recursão e loops

O que é a série de Fibonacci em Java?


Uma Série de Fibonacci em Java é uma série de números em que o próximo número é a soma dos dois números anteriores. Os dois primeiros números da série de Fibonacci são 0 e 1. Os números de Fibonacci são significativamente usados ​​no estudo computacional em tempo de execução de um algoritmo para determinar o máximo divisor comum de dois inteiros.

Em aritmética, a matriz de Wythoff é uma matriz infinita de números resultantes da sequência de Fibonacci.
The Fibonacci sequence: 0, 1, 1, 2, 3, 5, 8, 13, 21, ...

Programa da Série Fibonacci em Java usando 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;
	        }
	}
}

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

Lógica do programa:

Programa da Série Fibonacci em Java usando While Loop


Você também pode gerar Java Fibonacci Series usando um While loop em 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++;
	        }
 
	}
 
}

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

A única diferença na lógica do programa é o uso do WHILE Loop para imprimir os números de Fibonacci

Série de Fibonacci com base na entrada do usuário

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

Lógica do programa:

A lógica é a mesma de antes. Em vez de codificar o número de elementos para mostrar em Java Fibonacci Series, o usuário é solicitado a escrever o número.

Série de Fibonacci usando recursão em Java


Abaixo está um programa da série Fibonacci em Java usando recursão:
//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) +" ");
		}
	}
}


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

Lógica do programa:

Uma função recursiva é aquela que tem a capacidade de chamar a si mesma.

fibonacciRecursion():
  1. A função de recursão Java Fibonacci recebe um número de entrada. Verifica 0, 1, 2 e retorna 0, 1, 1 de acordo porque a sequência de Fibonacci em Java começa com 0, 1, 1.
  2. Quando a entrada n for>=3, a função chamará a si mesma recursivamente. A chamada é feita duas vezes. Vamos ver a série de Fibonacci em Java usando exemplo de recursão para entrada de 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

Agora o resultado é adicionado 0+1+1+0+1=3

Java

  1. Programa Java Hello World
  2. Variáveis ​​e literais Java
  3. Expressões, instruções e blocos Java
  4. Classe e objetos Java
  5. Classe abstrata Java e métodos abstratos
  6. Java aninhado e classe interna
  7. Java joga e joga
  8. Autoboxing e unboxing Java
  9. Programa Java para verificar o número primo
  10. Armstrong Number no programa JAVA usando For Loop