gpt4 book ai didi

haskell - Haskell 内置阶乘函数

转载 作者:行者123 更新时间:2023-12-01 22:53:39 27 4
gpt4 key购买 nike

我知道这听起来像是一个愚蠢的问题,但它是:Haskell 中有内置的阶乘吗?

谷歌给了我关于 Haskell 的教程,解释了我如何自己实现它,我在 Hoogle 上找不到任何东西。我不想每次需要时都重写它。

我可以使用 product [1..n]作为替代品,但有没有真正的Int -> Int阶乘内置函数?

最佳答案

尽管它通常用于示例,但阶乘函数在实践中并不是很有用。这些数字增长得非常快,大多数包含阶乘函数的问题都可以(并且应该)以更有效的方式计算。

一个简单的例子是计算二项式系数。虽然可以将它们定义为

choose n k = factorial n `div` (factorial k * factorial (n-k))

不使用阶乘会更有效:
choose n 0 = 1
choose 0 k = 0
choose n k = choose (n-1) (k-1) * n `div` k

所以,不,它不包含在标准前奏中。斐波那契数列、阿克曼函数或许多其他函数,虽然理论上很有趣,但在实践中使用得不够普遍,无法在标准库中占有一席之地。

话虽如此,有 many math libraries available on Hackage .

关于haskell - Haskell 内置阶乘函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6806946/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com