dav*_*ave 9 haskell list-comprehension
嗨我试图在haskell中创建一个函数,使用数字a使用列表,即4它将创建的数字的一部分[[1,1,1,1],[1,1,2],[1,3],[2,2],[4]].我正在考虑使用列表理解,它会创建列表x,然后使用[1 ... n]中的数字创建更多列表(n是我想要的分区号),其中创建的列表总和相等到了
我到目前为止创建的代码是 -
partions (n:xs) = [[x|x<-[1...n], sum[x]==n]]|xs<-[1..]]
Run Code Online (Sandbox Code Playgroud)
但不经意的是它没有用,有什么建议吗?
谢谢.
我建议尝试递归:要获得 n 的分区,迭代数字 i = 1 到 n,并递归生成 (ni) 的分区,基本情况是 1 的唯一分区是 1 本身,并且 的分区0 是空列表。