コード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)
私が見ている本はそれがうまくいくと言っています。それはどのように機能しますか?