这是代码:
class qual
{
public static int fibonacci(int n)
{
if (n == 0 || n == 1)
{
return 1;
}
else
{
return fibonacci(n-1) + fibonacci(n-2);
}
}
public static void main(String[] arg)
{
System.out.println(fibonacci(5));
}
}
输出是 8。输出应该是 8,但是当我看到这个时,我认为它应该是 7((5-1) +(5-2)
)。
为什么输出是 8?我认为获得 8 的原因可能会使递归不再让我感到困惑。