Serie Fibonacci

4 respostas
R

Galera, sou muito leigo em Programacao entao gostaria de saber como eu faco para desenvolver a serie Fibonacci onde o usuario informa a quantidade de termos declarados ou a ser executados…
Forte abraco…

4 Respostas

gpd38

O que você já digitou / implementou / criou ?

Ela tem que ser recursiva ou iterativa?

gpd38

Ja olhou no WIKIPIDIA
http://pt.wikipedia.org/wiki/N%C3%BAmero_de_Fibonacci

denisspitfire
  1. estude a sequencia
  2. veja como ler uma entrada de dados em java com scanner.
  3. com um laço ou de forma recursiva, tente desenvolver o estudo feito na parte 1.
  4. caso seja recursivo, estude primeiro recursão. Qualquer duvida sobre as partes a cima pode contar comigo. flw
wfuertes

Um exemplo de implementação, mas realmente no Wikipedia tem bastante informação vale a pena verificar.

import java.util.ArrayList;
import java.util.List;

public class Fibonacci {
    private int numeroDeTermos;
    private List<Long> termos;
    
    public Fibonacci(int numeroDeTermos) {
        this.numeroDeTermos = numeroDeTermos;
    }
    
    public Fibonacci calcular() {
        long soma = 0;
        long auxiliar = 1;
        
        //o termo 94 exede o limite de um long o java
        if (numeroDeTermos > 0 && numeroDeTermos <= 93) {
            this.termos = new ArrayList<Long>(numeroDeTermos);
            termos.add(0L);
            for (int i=0; i < numeroDeTermos - 1; i++) {
                soma += auxiliar;
                auxiliar = soma - auxiliar;
                termos.add(soma);
            }              
        }
        
        return this;
    }
    
    public List<Long> getTermos() {
        return termos;
    }
    
    public void imprimeTermos() {
        if (termos.size() > 0) {
            int contador = 1;
            for (Long termo : termos) {
                System.out.println("termo["+contador+"] => " + termo);
                contador++;
            }
        }else {
            System.out.println("Não foi possível calcular para o número de termos informado!");
        }
    }
}

Exemplo de uso em uma class com método main.

public class Main {
    public static void main(String args[]) {
        new Fibonacci(20).calcular().imprimeTermos();
    }
}

Lembrando está implementação usa a abordagem iterativa. Bons estudos.

Criado 20 de setembro de 2011
Ultima resposta 20 de set. de 2011
Respostas 4
Participantes 4