1

私は最近 Haskell を学び始めましたが、
偶数であるフィボナッチ数のリストを生成したいという問題に遭遇しました。フィボナッチ数を計算する再帰関数を作成しました。この数をリストに挿入しようとしています。たとえば、特定の数よりも小さい
[fib x | x <- [1..]]
計算された数のみを入れたいとしましょう。 この数値を で出力できますが、コードは永久に実行され、リストに入力されます。十分な大きさ の場合、リストの挿入を終了するにはどうすればよいですか?fib xfib x < 92100000
filter(<92100000)[fib x | x <- [1..]]
fib x

4

2 に答える 2

3

takeWhile (<92100000) [fib x | x <- [1..]]条件を満たさない最初の要素に到達した後、つまり 92100000 以上の最初の要素の後、終了します。

于 2013-11-06T00:29:46.067 に答える