【发布时间】:2017-05-10 15:20:55
【问题描述】:
我让你计算前 n 个斐波那契数的总和。 fib 函数返回第 n 个斐波那契数。但我不知道如何仅对前 n 个数字求和(n 个给定数字)
fib :: Int -> Int
fib 0 = 0
fib 1 = 1
fib x = fib (x-1) + fib (x-2)
sumFib :: Int -> Int
sumFib x = if x == fib x then x+fib x else fib x
【问题讨论】:
-
使用
fib函数返回无限的斐波那契数列(您可以在线查找)。然后使用sum (take n fib) -
刚才在这里回答了这个问题:stackoverflow.com/questions/43883290/…
-
你知道
sum(Fib(1)..Fib(n)) = Fib(n+2) -1吗? -
@Jonathan M:不,我不知道 :) 谢谢
-
@4castle:我不能用“take”,我只能用Type A - 基本功能
标签: haskell