数论全家桶
作者:互联网
欧几里得算法
引理 \(1\):\((a,b) = (a,a-b)\)
令 \((a,b)=d,(a,a-b)=k\)。
\(a \equiv 0 \pmod d, b \equiv 0 \pmod d,a-b \equiv 0 \pmod d\),所以 \(k \ge d\)
\(a \equiv 0 \pmod d, a-b \equiv 0 \pmod d,b=a-(a-b) \equiv 0 \pmod d\),所以 \(d \ge k\)
引理 \(2\):\((a,b) = (b,a-qb)\)
当 \(q = 0\) 时,显然。
当 \(q \gt 1\) 时,可以通过 \((a,b) = (b,a-qb+b)\) 和引理 \(1\) 推出。
证毕(数学归纳法)。
定理 \(1\)(欧几里得算法):\((a,b) = (b,a \bmod b)\)
在引理 \(2\) 取 \(q=a/b\)。
时间复杂度证明:
定义一个函数 \(f(a,b)(a \le b)\),代表以以上算法计算最大公约数所需要的迭代次数。
令一个数列 \(a\) 满足 \(f(a_{i},a_{i+1})\) 是满足 \(x \le y \le a_{i+1}\) 的 \(f(x, y)\) 的最大值,则有 \(f(a_i,a_{i+1}) = f(a_i, a_{i+1} - qa_i) + 1\),显然有 \(q=1\) 时最优,所以 \(f(a_i,a_{i+1}) = f(a_{i+1} - a_i, a_i) + 1\),为了让前一项最大,所以要有 \(a_{i+1} - a_{i} = a_{i-1}\)(这样就是 \(f(a_{i-1},a_i)\),显然最大,因为后一项是 \(a_i\)),移项一下,得到 \(a_{i+1} = a_i + a_{i-1}\),换元 \(u = i+1\),得到 \(a_u = a_{u-1} + a_{u-2}\),是斐波那契数列,所以这个算法复杂度与斐波那契数列反函数同阶,为 \(O(\lg n)\)(最坏)
定理 \(2\)(扩展欧几里得算法):定义 \(X(a,b)\) 是 \(ax+by=(a,b)\) 的一组解的 \(x\),\(Y(a,b)\) 是 \(ax+by=(a,b)\) 的一组解的 \(y\),则有 \(X(a,b)=Y(b,a \bmod b); Y(a,b) = (a/b) Y(b, a \bmod b) + b X(b, a \bmod b)\)。
证明:\({a}x+{b}y=(a,b)=(b,a \bmod b)=bx+(a \bmod b)y=bx_0+(a-(a/b)b)y_0={{b}}x_0+{{a}}y_0-(a/b){{b}}y_0={{a}}(y_0)+{{b}}(x_0+(a/b)y_0)\),
发现可以完全一一对应,得证。
引理 \(3\):\(ax+by=z\) 有解 \(\Longrightarrow z \mid (a,b)\)
\(z=ax+by=(a,b)\dfrac a{(a,b)} x + (a,b)\dfrac b{(a,b)} y = (a,b)(\dfrac a{(a,b)} x + \dfrac b{(a,b)}y) \equiv 0 \pmod{(a,b)}\)
引理 \(4\):\(ax+by=z\) 有解 \(\Longleftarrow z \mid (a,b)\)
通过定理 \(2\),可以求出 \(ax_0+by_0=(a,b)\) 的解 \((x_0,y_0)\),则有 \(x = \dfrac{z}{(a,b)}x_0, y = \dfrac{z}{(a,b)}y_0\)
定理 \(3\)(贝祖定理):\(ax+by=z\) 有解 \(\iff z \mid (a,b)\)
结合引理 \(3 \sim 4\)。
乘法逆元
定义 \(a_p^{-1}\) 为一个 \([0,p-1]\) 内的正整数 \(x\) 满足 \(ax \equiv 1 \pmod p\)。
引理 \(5\):对于任意的 \(p > 1\),\(0_p^{-1}\) 不存在。
显然 \(0x \equiv 0 \not\equiv 1 \pmod p\)。
引理 \(6\):对于任意的 \(p > 1 \wedge a \ne 0\),存在 \(a_p^{-1} \iff a \perp b\)。
构造方程 \(ax + py = 1\),该方程有解 \(\iff 1 \mid (a,p) \iff (a,p)=1 \iff a \perp b\)
引理 \(7\):\(\forall p \in \mathbf P\forall x,y \in [1,p-1], p \nmid xy\)
反证法,设有 \(xy\) 满足 \(p \mid xy\),则有 \(xyy^{-1} \equiv (xy)y^{-1} \equiv 0y^{-1} \equiv 0 \equiv x(yy^{-1}) \equiv x \pmod p\)。导致矛盾,证毕。
引理 \(8\):对于一个质数 \(p\),有 \(x \perp p \iff x \nmid p\)。
证明:反证法并分类讨论反例:
如果存在 \(x\) 满足 \(x \nmid p \wedge x \not\perp p\),则显然有 \((x \bmod p)^{-1} = x^{-1}\),又因为 \(x \nmid p\),所以 \((x \bmod p) \in [1, p-1]\),故 \(x^{-1}\) 存在;又因为方程有解充要条件为 \(x \perp p\),又因为 \(x \not\perp p\),推出矛盾。
如果存在 \(x\) 满足 \(x \mid p \wedge x \not\perp p\),则有 \(p \mid (x,p)\),因为 \(p\) 是质数,故有 \((x,p)>1\),矛盾。
引理 \(9\):对于一个质数 \(p\),\(p \perp (p-1)!\)
\(p=2\) 时显然。
对于 \(p>2\),显然有 \((2!) \bmod p = 1 \times 2 \bmod p \ne 0\),又因为 \(((x+2)!) \bmod p = (((x+1))!) \bmod p) \times (x+2) \bmod p\)(\(x+2<p\))中 \((x+2)\) 和 \((x+1)!\) 都在 \([1,p-1]\) 内,所以有 \((x+2)! \perp p\),所以有 \(p \perp (p-1)!\)(带入 \(x=p-3\))
引理 \(10\):对于一个质数 \(p\),对于 \(x \in [1,p-1]\),有 \([1,p-1] = \{x \times a \bmod p : a \in [1,p-1]\}\)。
由于两个集合大小均不高于 \(p-1\),且第二个集合必定是第一个集合的子集,所以只要证明第二个集合大小 \(=p-1\) 即可。
反证法,如果存在两个数均为 \(k\)(\(xa\equiv ya\)),则两边同乘 \(a_p^{-1}\)(由于 \(p\) 是质数它必然存在)得到 \(x \equiv y\)。
定理 \(4\)(费马小定理):对于素数 \(p\),\(x^{p-1} \equiv 1 \pmod p\)。
根据引理 \(10\),将两个集合求乘积得到 \((p-1)! \equiv x^{p-1} (p-1)! \pmod p\),根据引理 \(9\),\(((p-1)!)^{-1}\) 存在,所以可以约去 \((p-1)!\),得到 \(x^{p-1} \equiv 1 \pmod p\)。
引理 \(11\):对于三个数 \(a,b,c\),有 \((ab) \perp c \iff a \perp c \wedge b \perp c\)
标签:数论,bmod,全家,pmod,perp,ax,引理,equiv 来源: https://www.cnblogs.com/lhx-oier/p/16670469.html