リスト内の前の要素に基づいてリストを生成することを含む問題 (五角形の数字など) に取り組んできました。必要なフォームの組み込み関数が見つからないようです。基本的に、次の形式の関数を探しています。
([a] -> a) -> [a] -> [a]
Where([a] -> a)
はこれまでのリストを取得し、リストにある必要がある次の要素、a
または[a]
最初のリストである要素を生成します。これを実現するために iterate を使用しようとしましたが、リストのリストが生成され、連続する各リストにはさらに 1 つの要素が含まれます (したがって、3000 番目の要素を取得するには(list !! 3000) !! 3000)
、list !! 3000
.