定义
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