jifang29 发表于 2006-8-23 09:42

大于21的数的阶乘如何求?

21以下的数可用阶乘函数factorian函数计算,那么请教大于21的数的阶乘如何求?谢谢!

happy 发表于 2006-8-23 15:51

matlab没有提供直接的阶乘函数,但可以用prod(1:n)来求n!
用prod(1:2:2n-1)或者prod(2:2:2n)来求解n!!
也可以采用gamma函数

做过数非常大的时候,而且对结果又要求不是很高的时候
可以采用取log10的办法,计算出result=log10(1000!)=log10(1)+log10(2)+...log10(1000)
然后求10^result=10^result的小数部分*10^result的整数部分

jifang29 发表于 2006-8-23 18:11

多谢happy教授
页: [1]
查看完整版本: 大于21的数的阶乘如何求?