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, ...
- O que é a série de Fibonacci em Java?
- Programa da Série Fibonacci em Java usando For Loop
- Programa da Série Fibonacci em Java usando While Loop
- Série de Fibonacci usando recursão em Java
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:
- previousNumber é inicializado com 0 e nextNumber é inicializado com 1
- O Fibonacci For Loop itera até
maxNumber
- Exibir o número anterior
- Calcula a soma de previousNumber e nextNumber
- Atualiza novos valores de previousNumber e nextNumber
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():
- 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.
- 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
- Programa Java Hello World
- Variáveis e literais Java
- Expressões, instruções e blocos Java
- Classe e objetos Java
- Classe abstrata Java e métodos abstratos
- Java aninhado e classe interna
- Java joga e joga
- Autoboxing e unboxing Java
- Programa Java para verificar o número primo
- Armstrong Number no programa JAVA usando For Loop