阶梯乘法——阶乘与梯乘
我们熟知数学中的阶乘(Factorial),比如5的阶乘记为5!,
5!=5×4×3×2×1
正整数n的阶乘记为n!,
n!=n×(n-1) ×(n-2) ×…×3×2×1
在实际中,有时我们又需要计算任意一串连续正整数的乘积,比如:
31×32×33×34×35×36×37×38×39 ①
我给这一类的连乘取名为梯乘(ladder multiplication)。可以把梯乘中最大的数称为顶阶数,最小的数称为底阶数。当任意正整数n和m有n>m时,就可以构成一个以梯乘算式,我们把这样的算式简记为:
lad(n,m)
式中n为顶阶数,m为底阶数。从而上面的连乘式①可以记为lad(39,31)。
显然,当m等于1时,梯乘lad(n,1)就是阶乘n!。
通常阶乘或并没有什么简便的算法,只能是一个数接着一个数硬乘。在互联网上可以找到专门计算阶乘的软件,但这些软件却不能便捷地或直接地计算出一般梯乘式的值。这样就有必要开发梯乘软件,该软件应该包含阶乘功能,并且计算结果不应该是近似的。
现在我们已经有了一款这样的软件,下面是该软件运行的几幅截图:
算式31×32×33×34×35×36×37×38×39,
也就是lad( 39,31 )的值
lad(2124,1401),也就是
1401×1402×1403×…×2122×2123×2124,为724个
连续正整数的乘积。
50!的值
10000!,这个数极为巨大,共有3万多位。
最后,让我们把阶乘与梯乘合称为阶梯乘法。