今日のインタビューで、修正されたフィボナッチのような数列が与えられました。
1、1、2、4、6、13、19、42、61、135、...、
n位の数値を返す関数を書くように言われました。
したがって、n = 4 の場合、関数は 4 を返し、n = 6 の場合は 13 を返す必要があります。
お気付きだと思いますが、違いは、偶数項目は前の 4 つの項目に等しく、奇数項目は前の 2 つの項目に等しいということです。
再帰を使用する場合は問題ありません。それが私がしたことですが、それは私が望んでいたアプローチではありません。
フィボナッチ計算は次のようになります (PHP の場合):
$n = 17;
$phi = (1 + sqrt(5)) / 2;
$u = (pow($phi, $n) - pow(1 - $phi, $n)) / sqrt(5);
$uは、この場合は 1597 です。
ただし、このようなフィボナッチ数列の修正版で解決する方法がわかりません。