我正准备在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],....]
我必须只使用基本功能。
我知道这肯定很简单,但我不知道怎么做,我也无法在互联网上找到它。
我会很高兴得到任何帮助。
答案 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] ?