题目描述
求大神帮忙分析一下,有点绕晕了
相关代码
(fn =>
(f =>
f(f)
)(f =>
fn(n =>
f(f)(n)
)
)
)(g =>
n => [1, 2].indexOf(n) > -1 ? 1 : g(n - 1) + g(n - 2)
)(10)
你期待的结果是什么?实际看到的错误信息又是什么?
这段程序的运行结果是55,希望了解过程和思路。
求大神帮忙分析一下,有点绕晕了
(fn =>
(f =>
f(f)
)(f =>
fn(n =>
f(f)(n)
)
)
)(g =>
n => [1, 2].indexOf(n) > -1 ? 1 : g(n - 1) + g(n - 2)
)(10)
这段程序的运行结果是55,希望了解过程和思路。
我来翻译一下哈:
不知道那个人为什么写的这么麻烦
(function boqie(n) {
if (n<=2){
return 1;
}
return boqie(n-1)+boqie(n-2)
})(10)
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
其实就是斐波那契数列求和,稍微炫技的用了Y不动点组合子。
除了Y不动点组合子之外就是个简单的递归。
利用JavaScript推导Y组合子