Bom dia galera!
Estou fazendo um trabalho para a faculdade no qual devo desenvolver um programa que calcule fibonacci por meio de uma função reursiva, eu devo mostrar o tempo gasto para fazer o calculo e tambem as vezes que esta função foi chamada.
Bom, a questão do tempo eu ja dei um jeito utilizando o comando System.currentTimeMillis(); mas quanto as vezes co que a função é executada eu não estou sabendo fazer.
Segue o codigo fonte do meu programa, ja tentei contar usando uma variavel cont dentro da função, mas como a variavel é declarada dentro da função toda vez que a função era executada ela era zerada e ficava valendo apenas 1.
[code]package fibonacci;
import java.util.Scanner;
public class Fibonacci {
public static long fiboRecursivo(long T){
if (T <= 2)
return 1;
else
return Fibonacci.fiboRecursivo(T-1)+Fibonacci.fiboRecursivo(T-2);
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
long fibo = 0;
int termo = 0;
long inicio = 0;
long fim = 0;
while (termo < 1){
System.out.print("Digite o termo que deseja calcular: ");
termo = sc.nextInt();
}
inicio = System.currentTimeMillis();
fibo = Fibonacci.fiboRecursivo(termo);
fim = System.currentTimeMillis();
System.out.println("forma gastos "+(fim-inicio)/1000+"s");
System.out.println("O termo <"+termo+"> de fibonacci é: "+fibo);
}
}
Se alguem puder e ajudar com essa duvida eu agradeço.
Abraços
[/code]