代码 1:
public static int fibonacci (int n){
if (n == 0 || n == 1) {
return 1;
} else {
return fibonacci (n-1) + fibonacci (n-2);
}
}
fibonacci
如果您还没有完成对它的解释,您将如何使用它?我已经能够理解在其他情况下使用递归,例如:
代码 2:
class two
{
public static void two (int n)
{
if (n>0)
{
System.out.println (n) ;
two (n-1) ;
}
else
{
return ;
}
}
public static void main (String[] arg)
{
two (12) ;
}
}
但是,在代码 2 的情况下,n
最终会达到它不满足的点,n>0
并且该方法将停止递归调用自身。n=1
但是,在代码 2 的情况下,如果是 2 和 3 和 5 的起点,我看不出它如何能够从 1 中获取自身,依此类推。另外,我看不出这条线是如何return fibonacci (n-1) + fibonacci (n-2)
工作的,因为fibonacci (n-2)
必须在某种意义上包含fibonacci (n-1)
才能工作,但它还没有。
我正在看的那本书说它会起作用。它是如何工作的?