--- tags: 數論, prime number, 最大公因數 gcd, 模反元素, 中國剩餘定理 CRT --- # 數論 ## 質因數 ### 質因數排組 $X=p_1^{a_1}\times p_2^{a_2}\times p_3^{a_3}\times ...\times p_n^{a_n}$ * $X$的因數個數=$(a_1+1)\times (a_2+1)\times (a_3+1)\times ...\times (a_n+1)$ * $X$的因數總和=$(\sum\limits_{i=0}^{a_1}p_1^{i})\times (\sum\limits_{i=0}^{a_3}p_2^{i})\times (\sum\limits_{i=0}^{a_3}p_3^{i})\times ...\times (\sum\limits_{i=0}^{a_n}p_n^{i})$ ### 篩法 #### 作法 * 從2開始把2的倍數刪掉,再把還沒被刪掉的最近的數(i.e 3)的倍數刪掉,依序往下刪除剩下的數為質數 #### 複雜度 $\frac{n}{2}+\frac{n}{3}+\frac{n}{5}+...+\frac{n}{p}$ $\le\frac{n}{1}+\frac{n}{2}+\frac{n}{3}+...+\frac{n}{n}$ $\le\frac{n}{1}+[\frac{n}{2}+\frac{n}{2}]+[\frac{n}{4}+\frac{n}{4}+\frac{n}{4}+\frac{n}{4}]+...$ $=nlogn$ * **$O(nlogn)$** --- ## 最大公因數 GCD ### 求GCD的方法 * $gcd(a, b)=gcd(b, {a\ mod\ b})$ #### 複雜度 * $O(log \min(a, b))$ ### 求$ax+by=gcd(a,b)$ #### 解法 $\begin{equation} \left\{ \begin{array}{l} (a,\ b)=(x_1,\ y_1) & \\ (b,\ a\ mod\ b)= (x_0,\ y_0) \end{array} \right. \end{equation}$ $bx_0+(a\ mod\ b)y_0=gcd(a,\ b),\ 且\ x_0=gcd(a,b),\ y_0=0$ $bx_0+(a-kb)y_0=gcd(a,\ b)$ $a(-y_0)+b(x_0-ky_0)=gcd(a,\ b)$ $\begin{equation} \left\{ \begin{array}{l} x_1=-y_0 & \\ x_0-ky_0= y_1 \end{array} \right. \end{equation}$ 遞迴可解出解出 $\begin{equation} \left\{ \begin{array}{l} x_n& \\ y_n \end{array} \right. \end{equation}$ --- ## mod 乘法反元素 ### 題目敘述 給$a,\ m,\ gcd(a,\ m)=1$ 找$x\ 使得\ ax\equiv1\pmod{m}$ ### 方法1. 使用$ax+my=gcd(a,b)=1$的方法求得 ### 方法2. 歐拉-費馬定理 $x=a^{\phi(m)-1}\ mod\ m$ $\phi(m)=1\sim m\ 跟m互質的數字個數$ #### 計算$\phi(m)$ $[p_1,\ p_2,\ p_3,...,p_n]為m的質因數$ $則\phi(m)=m\times \frac{p_1-1}{p_1}\times \frac{p_2-1}{p_2}\times \frac{p_3-1}{p_3}\times...\times \frac{p_n-1}{p_n}$ --- ## 中國剩餘定理 CRT ### 題目敘述 求最小的$x$使得 $\begin{equation} \left\{ \begin{array}{l} x\equiv a_1\ mod\ m_1 & \\ x\equiv a_2\ mod\ m_2 & \\ x\equiv a_3\ mod\ m_3 & \\ \vdots &\\ x\equiv a_n\ mod\ m_n & \\ \end{array} \right. \end{equation}$ ### 解法 $令M=m_1\times m_2\times m_3 \times ... \times m_n$ $令M_i=\frac{M}{m_i}$ $令t_i=M_i^{-1}\ mod\ m_i$ $則x=\sum Mi\times t_i\times a_i$ ---