在Haskell中,我想以递归方式定义一个函数并在那里使用求和,我所拥有的是:
partitions n m l = gfunct n m l
where
gfunct n m l
| n == 0 && m == 0 = 0
| n < m || m == 0 = 1
| otherwise = -- here the Summation
这个总和应该是人们在数学中写的东西的实现,如
据我所知,Haskell应该支持这种编程风格。
(我在Haskell中是一个迷茫的新手,我主要是寻求解决方案,而不是深入挖掘函数式编程)我尝试用fold
或scan
实现它但我总是失败。
答案 0 :(得分:3)
如果你想要从$ 0到$ n $的$ h $之和,那么你可以写下:
sum [ gfunct (n-h) (m-1) (h-1) | h <- [0..n] ]