【发布时间】:2011-12-12 20:00:12
【问题描述】:
我是 haskell 的新手,刚刚学习函数式编程的乐趣。但是在实现斐波那契函数时立即遇到了麻烦。请在下面找到代码。
--fibonacci :: Num -> [Num]
fibonacci 1 = [1]
fibonacci 2 = [1,1]
--fibonacci 3 = [2]
--fibonacci n = fibonacci n-1
fibonacci n = fibonacci (n-1) ++ [last(fibonacci (n-1)) + last(fibonacci (n-2))]
相当尴尬,我知道。我找不到时间查找并写一个更好的。虽然我想知道是什么让这个效率如此低下。我知道我应该查一下,只是希望有人会觉得有必要成为教育者,让我不费吹灰之力。
【问题讨论】:
-
如果您甚至找不到时间查找更好的答案,那么您怎么能有时间从提出更好答案并解释为什么更好的答案中学习呢?
-
可能与此重复:stackoverflow.com/questions/6562387/…。在我看来,这些问题是相同的,只是这个问题的代码示例不太清楚。
-
@ThomasM.DuBuisson:已经是午夜了,我写这篇文章的时候很困。所以上下文应该是“现在没有时间”。现在正在查找它并前往 irc..
-
@HaskellElephant:看了一下那个。我把这句话说得不好。将编辑此问题、查找答案并进行更新。
标签: haskell