我是Haskell的新手,我想生成一个看起来像这样的对列表:
[(0,1),(0,2),(0,3),(1,2),(0,4),(1,3),(0,5)....]等等等等.
我创建了一个生成有序对的函数
orderedPairs = [ (x, y) | x <- [0 .. ], y <- [1 ..], x < y]
Run Code Online (Sandbox Code Playgroud)
但我不知道怎么从这里开始.谢谢.:)
谢谢你的提示.我设法做到这样:
orderedPairs n = [ (x, y) | x <- [0 .. n], let y = n - x, x < y]
pairStream n = (orderedPairs n) ++ (pairStream (n + 1))
increasingPairs = pairStream 0
Run Code Online (Sandbox Code Playgroud)
拿10个increasePairs返回正确的输出.:)