私は線形再帰トリプルフィボナッチ(トリプルフィボナッチ数はフィボナッチ数に影響されますが、3つの既定値から始まり、その後の各値は前の3つの値の合計です。 )Javaでの線形再帰を使用したトリプルフィボナッチ
制約の一つは、それが末尾再帰にするために、基本的ですが、これまでのところ、私は、コードのこの部分を持つ任意のチャンスを持っていなかった。
public class TailRecursiveOddonacci {
public long tailOddonacci(int n) {
if (n <= 3) {
return 1;
}
return tailOddonacciRecursion(0, 1, 2, n);
}
private long tailOddonacciRecursion(int a, int b, int c, int count) {
if(count <= 0) {
return a;
}
return tailOddonacciRecursion(b, a+b, a+b+c, count-1);
}
}
私は苦労理由を見つけるのを持っていますそれは動作していません...
EDIT:この場合のnは負でない整数です。したがって、たとえば、10が105を返すことになっている、または5は、あなたの編集に基づいて5
がどのようにこのコードを呼び出していますか? 'n 'の値は? –
@manetsusはまだ動作しません... 10としてnは私を与えています34 – lesterpierson123