【发布时间】:2021-05-02 20:05:11
【问题描述】:
我正在创建一个斐波那契函数,它会产生意外和不准确的结果。我在这里做错了什么?有没有简单的方法来纠正这个问题?
const fib=(c,f=[0,1],r=0)=>c>1?(f.push(f.reduce((a,b)=>a+b,0)),f.shift(),fib(c-1,f,1)):(r?f[1]:(c<0?NaN:f[c]));
fib(100); // -> 354224848179262000000,
// Correct 100th digit where `fib(0) === 0` would be 354224848179261915075
【问题讨论】:
-
几乎不可能阅读所有减少、移位、NaN 和推入同一行的代码
标签: javascript arrays math fibonacci dynamic-arrays