1

私はHaskellを初めて使用し、次のようなペアのリストを生成したいと思います。

[(0,1)、(0,2)、(0,3)、(1,2)、(0,4)、(1,3)、(0,5)....]などなどなど。

順序対を生成する関数を作成しました

orderedPairs = [ (x, y) | x <- [0 .. ], y <- [1 ..], x < y]

でもここから先に進む方法がわかりません。ありがとうございました。:)

4

1 に答える 1

5

ヒントをありがとう。私はなんとかこのようにそれをすることができました:

orderedPairs n = [ (x, y) | x <- [0 .. n], let y = n - x, x < y]
pairStream n = (orderedPairs n) ++ (pairStream (n + 1))
increasingPairs = pairStream 0

10を取ります。increasePairsは正しい出力を返します。:)

于 2013-03-27T13:12:39.150 に答える