fibs = 0 : 1 : zipWith (+) fibs (tail fibs)
sum' :: (Integral a) => [a] -> a
sum' [] = 0
sum' [a] = foldr (+) 0 ([a])
main = do putStrLn "Enter a number:"
num <- readLn
sum' (take num fibs)
这是我的代码,用于获取递归生成的列表的总和。
我本可以在foldr
处完成操作take num fibs
,但我想要对列表进行更多控制,并且想要一种方法来获取列表中特定元素的总和,而不是整个列表。
我哪里错了?