【发布时间】:2011-05-10 20:34:16
【问题描述】:
如何使用该代码获得斐波那契数列的总和:
fibs= 0 : 1 : zipWith (+) fibs (tail fibs)
edit: take 5 fibs 给出 [0,1,1,2,3] 的列表,所以第 5 个元素的值为 3,要提取它,我们必须输入:'last(take(5 fibs))'我们得到 3。以此类推
如果我们使用解释器寻找第 5 个元素,我们得到 [ 0, 1, 2, 3] 的列表,最后一个元素与第 5 个元素的值相同,如何获取该列表的 LAST 元素?
我可以使用 last 来“制作”它吗?你有什么想法吗?
【问题讨论】:
-
let fiblist = 0:1 : (zipWith (+) fiblist (tail fiblist)) in (last(take 5 fiblist)) 这就是(我认为)解决我的问题的方法 例如对于 fiblist 5 我得到 3 ,对于 15 -> 377 所以斐波那契元素的正确值 很好,但不漂亮;)
-
请编辑您的问题以清楚地确定您要完成的任务。
标签: list haskell lazy-evaluation