小编Raf*_*fal的帖子

斐波那契数的总和

我对Haskell很新.问题是找到所有偶数Fibonacci数不超过4百万的总和.我不能使用列表.

如果我理解正确,下面的解决方案是错误的,因为它使用列表:

my_sum = sum $ filter (odd) $ takeWhile (< 4000000) fibs
Run Code Online (Sandbox Code Playgroud)

其中fibs是所有Fibonacci数的列表.

不知何故,我发现在列表方面很难不考虑Haskell.任何人都可以指导我解决这个问题吗?

问候

编辑:

如果有人有兴趣,我已经解决了这个问题.这是代码(非常笨拙,但仍然有效):

findsum threshold = findsum' 0 1 0 threshold


findsum' n1 n2 accu t 
| n2 > t    = accu
| odd n2    = findsum' n2 n3 accu t 
| otherwise = findsum' n2 n3 accu2 t
where
    n3 = n2 + n1
    accu2 = accu + n2
Run Code Online (Sandbox Code Playgroud)

haskell fibonacci

4
推荐指数
1
解决办法
2878
查看次数

标签 统计

fibonacci ×1

haskell ×1