Fibonacci Recursivo

Olá pessoal, boa noite.
Gostaria de saber como eu faço esse algoritmo.
Implementar recursivamente o algoritmo que calcula os números da série de Fibonacci.

A série de Fibonacci é a seguinte:
0,1,1,2,3,5,8…
Para calculá-la, o primeiro e o segundo elementos valem 1(casos base), daí por diante, o n-ésimo elemento vale o (n-1)-ésimo elemento somado ao (n-2)-ésimo elemento.

Exemplo:
8 = 5 + 3
13 = 8 + 5

Definição: F(n)
0 ----- n ==0;
1 ----- n ==1;
F(n-1)+F(n-2) ---- n > 1;

Eu fiz assim:

[code]public static void main(String args[]) {
for (int i = 0; i <= 15; i++) {
System.out.println("(" + i + “)” + Fibonacci(i));
}
}

public static int Fibonacci(int n) {
    if (n == 0) {
        return 0;
    } else {
        if (n == 1) {
            return 1;
        } else {
            return Fibonacci(n - 1) + Fibonacci(n - 2);
        }
    }
}[/code]

Será que está correto? Me ajudem por favor.

Blz, evita postar sua duvida de primeira, primeiro pesquisa. Essa duvida é bem simples e tem bastante post sobre isso alguns bem legais
http://www.guj.com.br/search?cx=partner-pub-9448585618971060%3A4001950301&cof=FORID%3A10&ie=UTF-8&q=Fibonacci+recursivo&x=20&y=2&siteurl=www.guj.com.br%2Fjforum.java%3Fmodule%3Dsearch%26action%3Dsearch%26search_keywords%3Dfibonacci%2Brecursivo%26match_type%3Dall%26search_forum%3D4%26sort_by%3Drelevance&ref=&ss=3170j5265276j6

Esse em particular me ajudou bastante quando tava nesse exercicio:
http://www.guj.com.br/java/108080-fibonacci—calculo-recursivo

Ta correto, vc poderia usar somente um if

if (n < 2) {   return n; }

[code]
public int fiboTeste(int n) {

if (n < 2) { 
    return n;
    }
return fiboTeste(n - 1) + fiboTeste(n - 2);

}[/code]
Outra coisa, vc não precisa declarar ifs dentros dos elses:

public static int Fibonacci(int n) { if (n == 0) { return 0; } else { if (n == 1) { return 1; } else { return Fibonacci(n - 1) + Fibonacci(n - 2); } } }
Seria assim:public int fiboTeste(int n) { if (n == 0) { return 0; } else if (n == 1) { return 1; } return fiboTeste(n - 1) + fiboTeste(n - 2); }

Ou que tal nenhum if?

public int fiboTeste(int n) { return n &lt; 2 ? n : fiboTeste(n - 1) + fiboTeste(n - 2); }

[quote=RodrigoKaos]Blz, evita postar sua duvida de primeira, primeiro pesquisa. Essa duvida é bem simples e tem bastante post sobre isso alguns bem legais
http://www.guj.com.br/search?cx=partner-pub-9448585618971060%3A4001950301&cof=FORID%3A10&ie=UTF-8&q=Fibonacci+recursivo&x=20&y=2&siteurl=www.guj.com.br%2Fjforum.java%3Fmodule%3Dsearch%26action%3Dsearch%26search_keywords%3Dfibonacci%2Brecursivo%26match_type%3Dall%26search_forum%3D4%26sort_by%3Drelevance&ref=&ss=3170j5265276j6

Esse em particular me ajudou bastante quando tava nesse exercicio:
http://www.guj.com.br/java/108080-fibonacci—calculo-recursivo

Ta correto, vc poderia usar somente um if

if (n < 2) {   return n; }

[code]
public int fiboTeste(int n) {

if (n < 2) { 
    return n;
    }
return fiboTeste(n - 1) + fiboTeste(n - 2);

}[/code]
Outra coisa, vc não precisa declarar ifs dentros dos elses:

public static int Fibonacci(int n) { if (n == 0) { return 0; } else { if (n == 1) { return 1; } else { return Fibonacci(n - 1) + Fibonacci(n - 2); } } }
Seria assim:public int fiboTeste(int n) { if (n == 0) { return 0; } else if (n == 1) { return 1; } return fiboTeste(n - 1) + fiboTeste(n - 2); }[/quote]

Muito obrigado! Ajudou bastante. Pode deixar, irei pesquisar antes de postar.

[quote=ViniGodoy]Ou que tal nenhum if?

public int fiboTeste(int n) { return n &lt; 2 ? n : fiboTeste(n - 1) + fiboTeste(n - 2); }[/quote]

Muito obrigado! Fica até mais simples o código.