在今天的一次采访中,我得到了这个序列,这是一种修改后的斐波那契:
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。
但是,我不知道如何使用像这样的斐波那契数列的修改版本来解决它。