2016-09-30 10 views
1

フィボナッチ再帰メソッドのバリエーションである私のコードはここにあります。私は表示するには右のn値を取得しようとしているが、それは単に動作していない...私はトリプルフィボナッチの中の1つの場所(フィボナッチ数がトリプルフィボナッチ数に影響を受けていますが、値は、その後、私が取得されなければならないものである、先行する三つの値の代わりに、フィボナッチ2)Javaでトリプルフィボナッチを使用して再帰的メソッドを作成する

public long BinaryOddonacci(int n){ 
    if (n<=2){ // If the n is 0,1 or 2 the answer is 1 
     return 1; 
    } 
    else {return BinaryOddonacci(n-1) + BinaryOddonacci(n-2) + BinaryOddonacci(n-3);} // recursive call 
} 

iがBinaryOddonacci(10)のために取得されるべき出力は105であるが、私は193を取得し続ける、の和でありますBinaryOddonacci(11)...

+1

「それは単に機能しません...私はいつもフィボナッチのトリプルで1つの場所から離れています」具体的な例を挙げてください。実際のアウトプットは何ですか?また、予想とはどのように違うのですか? –

+0

@ Code-Apprenticeが追加されました! – lesterpierson123

+0

もう少し簡単なものに戻ってみましょう。 'BinaryOddonacci(3)'はどうすべきですか?実際に何を得るのですか? –

答えて

1

定義により、0番目、1番目、2番目の値を1(このコメント// If the n is 0,1 or 2 the answer is 1)に設定します。だから、シーケンスは以下の通りです:

つまり
0 : 1 
1 : 1 
2 : 1 
3 : 3 
4 : 5 
5 : 9 
6 : 17 
7 : 31 
8 : 57 
9 : 105 
10 : 193 

BinaryOddonacci(10)は、それが戻っているものである、193を返す必要があります。ここにはエラーはありません。

関連する問題