我要发疯了:阶乘的Ruby函数在哪里?不,我不需要教程实现,我只需要库中的函数。它不在数学中!
我开始怀疑,它是一个标准库函数吗?
发布于 2010-03-13 01:23:20
标准库中没有阶乘函数。
发布于 2012-09-14 05:57:18
就像这样更好
(1..n).inject(:*) || 1
发布于 2010-03-13 01:23:37
它不在标准库中,但您可以扩展Integer类。
class Integer
def factorial_recursive
self <= 1 ? 1 : self * (self - 1).factorial
end
def factorial_iterative
f = 1; for i in 1..self; f *= i; end; f
end
alias :factorial :factorial_iterative
end
注意:出于明显的性能原因,迭代阶乘是更好的选择。
https://stackoverflow.com/questions/2434503
复制相似问题