Você está aqui: Java ::: Dicas & Truques ::: Matemática e Estatística

Como retornar a série de Fibonacci recursivamente usando Java - Como calcular a sequência de Fibonacci em Java

Quantidade de visualizações: 3193 vezes
Na matemática, os números de Fibonacci são uma sequência ou sucessão definida como recursiva pela
fórmula:

Fn = Fn - 1 + Fn - 2

Os primeiros números de Fibonacci são:

1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, ...

Esta sequência foi descrita primeiramente por Leonardo de Pisa, também conhecido como Fibonacci, para descrever o crescimento de uma população de coelhos.

Veja um techo de código que mostra como calcular e mostrar a sequência de Fibonacci de forma recursiva usando Java:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

package arquivodecodigos;
 
import java.util.Scanner;

public class Estudos{
  public static void main(String[] args){
    // vamos ler a entrada do usuário
    Scanner entrada = new Scanner(System.in);
    System.out.print("Informe um número inteiro não negativo: ");
    int numero = Integer.parseInt(entrada.nextLine());

    // vamos obter o resultado
    int res = fibonacci(numero);
    System.out.println("O Fibonacc de " + numero + " é " + res);
  }
  
  public static int fibonacci(int num){
    // é o caso base?        
    if((num == 0) || (num == 1)){
      return num;
    }
    else{
      return fibonacci(num - 1) + fibonacci(num - 2);
    }
  }
}

Ao executarmos este código nós teremos um resultado parecido com:

Informe um número inteiro não negativo: 7
O Fibonacc de 7 é 13

E agora saindo um pouco da linguagem Java: Leonardo Pisa (1175-1240) publicou a sequência de Fibonacci no seu livro Liber Abaci (Livro do Ábaco, em português), o qual data de 1202. Porém, comenta-se que os indianos já haviam descrito essa série antes dele.

Se pegarmos um número da série de Fibonacci e o dividirmos pelo seu antecessor (por exemplo: 55 dividido por 34), teremos quase sempre o valor 1,618. Este valor é aplicado com muita frequência em análises financeiras e na informática. Leonardo Da Vinci, que chamou essa sequência de Divina Proporção, a usou para fazer desenhos perfeitos.

De fato, se observarmos atentamente, perceberemos a sequência de Fibonacci também na natureza. São exemplos disso as folhas das árvores, as pétalas das rosas, os frutos, como o abacaxi, as conchas espiraladas dos caracóis ou as galáxias.

Link para compartilhar na Internet ou com seus amigos:

Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços

Exercícios Resolvidos de Java - Contando de 1 até 20 e formatando a saída usando System.out.printf()

Quantidade de visualizações: 10946 vezes
Exercício Resolvido de Java - Contando de 1 até 20 e formatando a saída usando System.out.printf()

Pergunta/Tarefa:

Escreva um programa Java console que usa o laço for para contar de 1 até 20 e exibir estes valores no seguinte formato:

 1    2    3    4    5   
 6    7    8    9   10   
11   12   13   14   15   
16   17   18   19   20


Dica: Use o operador de módulo % para determinar o momento da quebra de linha e o método System.out.printf() para formatar o valor a ser exibido de forma a adicionar a quantidade correta de espaços entre os valores.

Resposta/Solução:

Eis a solução para este exercício:

Este código completo faz parte do nosso E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas.
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book


O mais importante a considerar aqui é o uso do método System.out.printf() na linha:

Este código completo faz parte do nosso E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas.
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book


Veja agora a explicação sobre o uso do operador de módulo % para provocar a quebra de linha após o quinto valor de cada fileira:

Este código completo faz parte do nosso E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas.
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book



Java ::: Dicas & Truques ::: Strings e Caracteres

Como contar as ocorrências de uma substring em uma string do Java usando o método substring() e um laço for

Quantidade de visualizações: 14 vezes
Nesta dica mostrarei como podemos usar o método substring() da classe String, combinado com o laço for, para contar as ocorrências de uma substring em uma string da linguagem Java. Note que usamos também os métodos length() e equals() para completar a tarefa.

Veja o código Java completo para o exemplo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

package estudos;

public class Estudos{
  public static void main(String[] args){
    // vamos criar uma string representando uma frase
    String frase = "Programar em Java só é melhor que programar em Java";
    
    // a substring que vamos pesquisar
    String sub = "Java"; // ocorrências de "Java"
    
    // quantidade de ocorrências
    int cont = 0;
    
    // um laço for que vai de 0 até o tamanho da primeira string menos
    // o tamanho da segunda string - 1
    for(int i = 0; i < (frase.length() - sub.length() + 1); i++){
      String res = frase.substring(i, (i + sub.length()));
      
      // encontramos a substring mais uma vez?
      if(res.equals(sub)){
        cont++;
      }
    }
    
    System.out.println("A frase contém " + cont + " ocorrências de " + sub);
    
    // fecha o programa
    System.exit(0);
  }
}  

Ao executar este código Java nós teremos o seguinte resultado:

A frase contém 2 ocorrências de Java


Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços

Exercícios Resolvidos de Java - Como testar se um número é perfeito usando Java

Quantidade de visualizações: 724 vezes
Pergunta/Tarefa:

Escreva um programa Java que pede para o usuário informar um número inteiro e informa se este número é um número perfeito.

Um número perfeito é aquele cuja soma dos seus divisores, exceto ele próprio, é igual ao número. Por exemplo, o número 6 é perfeito, pois 1 + 2 + 3 = 6.

Sua saída deverá ser parecida com:

Informe um número inteiro: 6
O número informado é um número perfeito.
Resposta/Solução:

Veja a resolução completa para o exercício em Java, comentada linha a linha:

Este código completo faz parte do nosso E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas.
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book



Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de Java

Veja mais Dicas e truques de Java

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 53 usuários muito felizes estudando em nosso site.