Haskell生成列表列表

时间:2016-06-21 16:21:14

标签: haskell tuples

我正准备在haskell进行测试,我发现了上次测试中的一个任务,用于生成无限列表。

generate :: Num n => n -> [[n]]

其中list是n-tuple,n来自参数。

此外,必须对列表进行排序。

对于exaple:

generate 2 = [[0,0],[0,1],[1,0],[1,1],[0,2],[1,2],[2,0],[2,1],[2,2],[0,3],....]

我必须只使用基本功能。

我知道这肯定很简单,但我不知道怎么做,我也无法在互联网上找到它。

我会很高兴得到任何帮助。

1 个答案:

答案 0 :(得分:1)

以下是allTuplesWithMaxElem函数的提示......

假设您要从数字[a,b,c,d]生成所有列表[0..2],并且限制为2必须作为其中一个元素出现。

考虑以下问题:

If we set a = 0, what are the possibilities for [b,c,d] ?
If we set a = 1, what are the possibilities for [b,c,d] ?
If we set a = 2, what are the possibilities for [b,c,d] ?