【发布时间】:2013-11-18 22:39:12
【问题描述】:
我很不擅长措辞,所以请多多包涵。
我正在做一个问题,需要我在 Haskell 中以列表的形式生成所有可能的数字。
例如,如果我有 x = 3 和 y = 2,我必须生成这样的列表列表:
[[1,1,1], [1,2,1], [2,1,1], [2,2,1], [1,1,2], [1,2,2], [2,1,2], [2,2,2]]
x 和 y 被传递到函数中,它必须与任何非零正整数 x 和 y 一起工作。
我完全迷失了,甚至不知道如何开始。
对于任何愿意帮助我的人,请尽量使任何涉及数学的解释尽可能易于理解。我真的不擅长数学。
【问题讨论】:
-
如果这是家庭作业,正如您所暗示的,那么您最好谈谈您已经尝试过的内容。此外,正如所写的那样,这个问题似乎有两个部分——“我该如何解决这个问题”的算法部分。以及“如何在 Haskell 中实现此解决方案”的语言部分。也许你应该从算法部分开始,围绕它形成一个新的答案,以及你对解决方案的想法。
-
@ThomasM.DuBuisson 即使这不是家庭作业,他也应该这样做。这就是人们应该提出问题的方式。
-
列表列表的顺序是否重要?
-
顺便说一句,看看
replicateM,就知道列表实现了 Monad 类型类。 -
只是为了确保我真正理解你想要什么:给定
x和y大于0,你希望所有长度为x的列表由1 到@ 之间的Ints 组成987654328@(含)?
标签: haskell numbers combinations