带扭曲的斐波那契-JavaScript
我是在接受JavaScript采访时被问到这个问题的 实现斐波那契数列以列出n个数字(不包括n个)的序列,其中递归仅对偶数发生。 比如说带扭曲的斐波那契-JavaScript,javascript,fibonacci,Javascript,Fibonacci,我是在接受JavaScript采访时被问到这个问题的 实现斐波那契数列以列出n个数字(不包括n个)的序列,其中递归仅对偶数发生。 比如说 fib(10) -> fib(8) + fib (6) fib(8) -> fib(6) + fib(4) fib(6) -> fib(4) +fib(2) fib(4) -> fib(2) 我不知道该怎么办 这肯定需要进一步澄清。(面试官应该更清楚些) 但据我所知 所以这个系列必须从某个地方开始,我假设它从fib(2)=1开始。并
fib(10) -> fib(8) + fib (6)
fib(8) -> fib(6) + fib(4)
fib(6) -> fib(4) +fib(2)
fib(4) -> fib(2)
我不知道该怎么办 这肯定需要进一步澄清。(面试官应该更清楚些) 但据我所知 所以这个系列必须从某个地方开始,我假设它从fib(2)=1开始。并遵循面试官给出的“代码”部分 这可以简单到:
- fib(2)=1
- fib(4)=1
- fib(6)=2
fib( 4) = fib( 2) = 1 * fib(2)
fib( 6) = fib( 4) + fib( 2) = 2 * fib(2)
fib( 8) = fib( 6) + fib( 4) = 3 * fib(2)
fib(10) = fib( 8) + fib( 6) = 5 * fib(2)
fib(12) = fib(10) + fib( 8) = 8 * fib(2)
fib(14) = fib(12) + fib(10) = 13 * fib(2)
^
this is fibonacci
在代码中,我们得到了一个很好的小递归(对所有n>=0的对象都有效):
你真的一点想法都没有吗?我想你尝试了一些事情,但失败了——你尝试了什么样的事情,遇到了什么问题?你更有可能通过表现出自己的努力来获得帮助和学习。@Chris,所以他想要所有的数字,但只对evens进行递归?那么基本上是对偶数的递归和对赔率的迭代?我只是不明白他到底是什么意思这个问题对我来说也很困惑。。当我要求细化时,我得到了作为代码添加的部分
var i;
function fib(n) {
switch (true) {
case n === 0:
return 0;
case n === 2:
return 1;
default:
return fib(n - 2) + fib(n - 4);
}
}
function writeFib(n) {
document.write('fib(' + n + ') = ' + fib(n) + ' * fib(2)<br>');
}
for (i = 0; i <= 20; i += 2) {
writeFib(i);
}
var i;
function fib(n) {
switch (true) {
case n === 0:
return '0';
case n === 2:
return 'fib(2)';
default:
return 'fib(' + (n - 2) + ') + fib(' + (n - 4) + ')';
}
}
function writeFib(n) {
document.write('fib(' + n + ') -> ' + fib(n) + '<br>');
}
for (i = 0; i <= 20; i += 2) {
writeFib(i);
}