首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >具有斐波那契数的lucas数

具有斐波那契数的lucas数
EN

Stack Overflow用户
提问于 2018-01-22 05:40:29
回答 1查看 90关注 0票数 1

我试着用斐波那契来计算一个卢卡数。到目前为止,我有:

代码语言:javascript
运行
复制
const fibonacci = (n, a = 1, b = 0) => (n === 0) ? b : fibonacci(n - 1, a + b, a);
const lucas = (n) => (n - 1) + (n + 1);
lucas(fibonacci(7));

它与数字"3“一起工作,所以我认为我一切都很好,但经过测试后,我意识到有些不对劲。我还是不明白。斐波那契数行得通,为什么不取最终的值并生成Ln = F(n - 1) + F(n + 1)呢?

我是Javascript的新手

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-22 05:49:55

你真正弄错的是实现lucas serie本身。您当前的lucas实现只需接受一个参数并对其邻域求和即可。

但你应该做的是,

代码语言:javascript
运行
复制
const lucas = (f, n) => f(n-1) + f(n+1)

因为lucas函数并不直接依赖于n的实际值,而是取决于给定f(n)的值(这里的f是斐波纳契数)。

因此,您必须将该函数显式传递给外部lucas函数。

代码语言:javascript
运行
复制
lucas(fibonacci, 7) /* fibonacci(6)+fibonacci(8) = 8 + 21 = 29 */
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48372000

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档