私は一連の数字を持っています:0、1、3、6、10、15、...基本的に、1を追加し、次に2を追加し、次に3を追加します。
この一連の数値をリスト内の指定された数値nまで返す関数を作成する必要があります。foldlを使いたい。
したがって、シリーズ5は[0、1、3、6、10、15]を返す必要があります
これが私がこれまでに持っているものです:
eachElem n = foldl (+) 0 [0..n]
series n = [x | x <- [(eachElem 0), (eachElem 1)..(eachElem n)]]
基本的に、リスト内の各要素はfoldl操作であると考えたので、これを実現するために個別のヘルパー関数(eachElem)を作成しました。
しかし、それは私が望むものよりはるかに大きなリストを返しています。
例えば。シリーズ3=>[0,1,2,3,4,5,6]実際に[0,1,3,6]を返す必要がある場合
これがなぜであるかについて何か考えはありますか?