2

高次関数を使用して fac 1 = 1、fac 2 = 2、fac 3 = 6 などの階乗関数を再作成しようとしていますが、うまくいきません。私のfold関数は、私が与えている入力に関係なく、空のリストを返し続けます。誰でも私を助けることができますか?

これが私がこれまでに持っているものです:

fold f a [] = []
fold f a (x:xs) = fold f (f a x) xs


fac n = fold (*) 1 [1..n]
4

4 に答える 4

1

これはどうですか?

fac n=product [1..n]
于 2017-05-15T11:00:47.473 に答える