2011-05-17 63 views
0

Haskell中的術語fac是什麼意思?我曾多次見過它,但似乎沒有任何類型的定義。我知道這與階乘有關,但我們不太清楚當他們提及術語fac時人們的意思。Haskell中「fac」的含義是什麼?

下面是一個例子:

sumFacs n = fac 0 + fac 1 + ... + fac (n-1) + fac n 

回答

6

一般fac指階乘函數,其可被定義爲:

fac :: Int -> Int 
fac 0 = 1 
fac n = n * fac (n - 1) 

當然,也有many different ways to define factorial in Haskell

+3

較短的是'fac = product [1..n]'。無論如何,[這裏](http://www.willamette.edu/~fruehr/haskell/evolution.html)是其他等效的定義。 – 2011-05-17 12:25:49

+0

@Alexandre C,小錯字,它應該是'fac n = product [1..n]'。 – augustss 2011-05-17 13:21:48

+0

或fac =產品。翻轉[1 ..]' – Landei 2011-05-17 14:56:08