Featured image of post 阶乘与双阶乘的一些计算

阶乘与双阶乘的一些计算

定义

1、质数,又称素数,是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数
例如,$ 13=1 \times 13 $,除了1和13以外,13不能被其他正整数整除,因此13是质数
2、阶乘用1个感叹号表示,其定义如下,其中$ n $为正整数

$$ \large n! = n \times (n-1) \times (n-2) \times \cdots \times 3 \times 2 \times 1 $$

3、双阶乘用2个感叹号表示,其定义如下,其中$ n $为正整数

$$ \large \begin{align*} & n!! = n \times (n-2) \times (n-4) \times \cdots \times 5 \times 3 \times1\quad,n=2k+1\newline & n!! = n \times (n-2) \times (n-4) \times \cdots \times 6 \times 4 \times2\quad,n=2k \end{align*} $$

分解质因数

1、将一个正整数分解为若干个质数相乘的形式,就称为分解质因数。例如$ 20 = 2^2 \times 5 $
2、用$ [n] $表示不大于$ n $的最大整数。例如$ [3.5] = 3, [0.5] = 0, [−3.7] = −4$
将正整数的阶乘进行分解质因数,形式如下:

$$ \large n!=p_1^{a_1} \times p_2^{a_2} \times \cdots \times p_i^{a_i} $$

其中$ p_1, p_2, \cdots , p_i $为不超过$ n $的所有质数

阶乘

以 18 的阶乘为例,对 18 的阶乘进行分解质因数,步骤如下:
求出不超过 18 的所有质数,结果为 2, 3, 5, 7, 11, 13, 17,那么

$$ \large 18!=2^{a_1} \times 3^{a_2} \times 5^{a_3} \times 7^{a_4} \times 11^{a_5} \times 13^{a_6} \times 17^{a_7} $$

$$ \large \begin{align*} & a_1 = \left[\frac{18}{2^1}\right]+\left[\frac{18}{2^2}\right]+\left[\frac{18}{2^3}\right]+\left[\frac{18}{2^4}\right]=9+4+2+1=16\\ & a_2 = \left[\frac{18}{3^1}\right]+\left[\frac{18}{3^2}\right]=6+2=8\\ & a_3 = \left[\frac{18}{5^1}\right]=3\\ & a_4 = \left[\frac{18}{7^1}\right]=2\\ & a_5 = \left[\frac{18}{11^1}\right]=1\\ & a_6 = \left[\frac{18}{13^1}\right]=1\\ & a_7 = \left[\frac{18}{17^1}\right]=1\\ \end{align*} $$

最终计算结果:

$$ \large 18!=2^{16} \times 3^{8} \times 5^{3} \times 7^{2} \times 11 \times 13 \times 17 $$

双阶乘

分两种情况进行讨论,也就是正奇数的双阶乘和正偶数的双阶乘

正偶数$ 2k $的双阶乘

$$ \large \begin{align*} & (2k)!!\\ = & 2 \times 4 \times 6 \times \cdots \times (2k)\\ = & (2 \times 1) \times (2 \times 2) \times (2 \times 3) \times \cdots \times (2 \times k)\\ = & 2^k \times k! \end{align*} $$

由上式可看出,要分解$ (2k)!!$,主要就是先对$ k! $进行分解
以$ 20!! $为例

$$ \large \begin{align*} & 20!!\\ = & (2 \times 10)!!\\ = & 2^{10} \times 10!\\ = & 2^{10} \times 2^8 \times 3^4 \times 5^2 \times 7\\ = & 2^{18} \times 3^4 \times 5^2 \times 7\\ \end{align*} $$

正奇数$ 2k + 1 $的双阶乘

$$ \large \begin{align*} & (2k+1)!!\\ = & \frac{ (1 \times 3 \times 5 \times \cdots \times (2k+1))\times (2\times 4\times 6\times \cdots \times 2k)}{2\times 4\times 6\times \cdots \times 2k}\\ = & \frac{(2k+1)!}{2^k \times k!} \end{align*} $$

由于正奇数的双阶乘是若干个奇数的乘积,不可能是偶数,因此在分解质因数过程中,可以忽略掉质数2。以15!!为例

$$ \large \begin{align*} & 15!!\\ = & \frac{15!}{2^7 \times 7!}\\ = & \frac{3^6 \times 5^3 \times 7^2 \times 11 \times 13}{3^2 \times 5 \times 7}\\ = & 3^4 \times 5^2 \times 7 \times 11 \times 13 \end{align*} $$

阶乘末尾0的个数

阶乘末尾0的个数取决于素因数2和5的个数,因为$ 2 \times 5 =10 $
在实际计算中发现,不论求阶乘数是多少,素因数2的个数都要多于5的个数,这就意味着判断末尾有多少个0,只要知道有多少个5就行了
$ n! $末尾0的个数为

$$ \left[ \dfrac{n}{5}\right]+\left[ \dfrac{n}{5^2}\right]+\left[ \dfrac{n}{5^3}\right] +\cdots $$

双阶乘末尾0的个数

正奇数$ 2k + 1 $的双阶乘

对于正奇数的双阶乘,由于是由若干个奇数相乘得到的,不含偶数,所以正奇数的双阶乘最后一位数字不可能为0

正偶数$ 2k $的双阶乘

对于正偶数$ 2k $的双阶乘,$ k \geqslant 5 $时,双阶乘最后一位数才会为0,以56!!为例

$$ \large \begin{align*} & 56!!\\ = & 2 \times 4 \times 6 \times 8 \times 10 \times \\ & 12 \times 14 \times 16 \times 18 \times 20 \times \\ & 22 \times 24 \times 26 \times 28 \times 30 \times \\ & 32 \times 34 \times 36 \times 38 \times 40 \times \\ & 42 \times 44 \times 46 \times 48 \times 50 \times \\ & 52 \times 54 \times 56 \end{align*} $$

从上式可看出,56!!末尾0的个数,取决于$ 10 \times 20 \times 30 \times 40 \times 50 $计算结果末尾有几个0

$$ \large 10 \times 20 \times 30 \times 40 \times 50=10^{5} \times 5! $$

根据阶乘末尾0的个数算法,5!末尾1个0,加上$ 10^{5} $的5个0,由此得知56!!末尾共有6个0

    
        Static Badge