【发布时间】:2016-05-21 16:40:15
【问题描述】:
具有以下功能:factorial :: Int -> Intfactorial n = product [1..n]
小于21的参数返回正确的值。例如:
factorial 20 返回 2432902008176640000,但 factorial 21 返回 -4249290049419214848,即使该值不是负数也是不正确的。
我知道应该使用这些尺寸数字Integer,但是这里发生的具体错误是什么?为什么?
【问题讨论】: