2017-09-19 9 views
-7

レオナルド数CプログラミングでLeonardo番号を見つけるロジックは何ですか?

L(x)= { 
    1    if x=0 
    1    if x=1 
    L(x-1)+L(x-2)+1 if x>1 
} 

X> 1であれば、どのようなロジック私はレオナルド番号を見つけるために適用することができますか?あなたの関数で

+1

'int L(int x){if(x <2)return x;返信L(x-1)+ L(x-2)+1;} – EOF

+4

これは宿題をするサイトではありません。 – akshayk07

+0

私はあなたに宿題をするように求めていません。論理を尋ねるだけ。 –

答えて

1

L(int x)

xもしxは1

私が呼んでいる L(x - 1)を使用してやっている何を

return L(x-1) + L(x-2) + 1;

よりも大きい場合は0または1

return 1;

です関数fまたは値がx - 1であり、値が0または1の場合は値が1として直接評価され、そうでない場合は(x - 1) - 1、つまりx - 2が再度呼び出され、プロセスが繰り返されます。

L(x - 2)を呼び出す場合も同様です。

これはコード全体ではなく、ロジックです。

この種のロジックの詳細については、再帰を検索してみてください。

+0

ありがとう@ akshayk07 –

関連する問題