1
我有Fibonacci的递归方法。我正在尝试获取该方法的调用次数。当索引为3,4,5,6等时,计数输出应为3,5,9,15等等。我的代码给了我错误的输出。也许我的for循环正在影响它?请帮忙!斐波那契递归调用次数
import java.util.*;
public class RecursionCallsFib{
private static int count;
public static int rabbit(int n) { //Fibinocci method
count++;
if (n <= 2) {
return 1;
}
else {// n > 2, so n-1 > 0 and n-2 > 0
return rabbit(n-1) + rabbit(n-2);
}
}
public static void main(String [] args){
System.out.println("Index" + "\t" + "Value" + "\t" + "Count");
for(int p=1;p<=15;p++){
System.out.println(p + "\t" + rabbit(p) + "\t" + count);
}
}
}
您应该在用新的'p'调用时重置'count'。另外,初始化它。 – exception1
我该如何重置计数?对不起,我是新来的Java和我更直观地看到事情。 –
非常感谢! @ exception1 –