递归条件定义,包括Haskell中的求和

时间:2018-02-17 12:26:32

标签: haskell recursion sum

在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 

这个总和应该是人们在数学中写的东西的实现,如

enter image description here

据我所知,Haskell应该支持这种编程风格。

(我在Haskell中是一个迷茫的新手,我主要是寻求解决方案,而不是深入挖掘函数式编程)我尝试用foldscan实现它但我总是失败。

1 个答案:

答案 0 :(得分:3)

如果你想要从$ 0到$ n $的$ h $之和,那么你可以写下:

sum [ gfunct (n-h) (m-1) (h-1) | h <- [0..n] ]