数论[阿巴阿巴阿巴][更新]

听完课之后,阿巴阿巴阿巴

约数

\(a|b\),则\(a\)\(b\)的约数

最大公约数

      int gcd(int a, int b)     
      {return (b) ? gcd(b, a % b) : a;}

欧拉函数

\(φ(n)\)表示\(2-n\)中与\(n\)互质的数的个数
\(N = p_{1}^{c_1} * p_{2}^{c_2} * ... * p_{m}^{c_m}\),则\(φ(n) = N * \frac{p_1 - 1}{p_1} * \frac{p_2 - 1}{p_2} * ... * \frac{p_m - 1}{p_m} = N * \prod_{质数p|N}(1 - \frac{1}{p})\)

证明:
\(p\)\(N\)的质因子,1~N中\(p\)的倍数有\(p, 2p, 3p, ... , (N/p)*p\),共\(N/p\)
同理,若\(q\)也是\(N\)的质因子,\(1-N\)\(q\)的倍数有\(N/q\)
如果把这\(N/p + N/q\)去掉,那么\(p*q\)的倍数就会排除了两次,需要加回来一次。
因此\(1-N\)中不与N含有共同质因子\(p\)\(q\)的数的个数为:
\(N - \frac{N}{p} - \frac{N}{q} + \frac{N}{pq} = N * (1 - \frac{1}{p} - \frac{1}{q} + \frac{1}{pq}) = N(1 - \frac{1}{p})(1 - \frac{1}{q})\)

int Euler(int n)
{
	int ans = n;
	for(int i = 2; i <= sqrt(n); ++i) 
		if(!(n % i))
		{
			ans = ans / i * (i - 1);
			while(!(n % i))n /= i;
		}
	if(n > 1)ans = ans / n * (n - 1);
	return ans;
}

\(Something\)
\(1-n(1 < n)\)中与n互质的数的和为\(n * φ(n) / 2\)
证明:
因为\(gcd(n, x) = gcd(n, n - x)\),所以与n互质的数x,n-x成对出现,则两者之和为n
所以质数和为\(φ(n) * n / 2\)

同余

\(5\ ≡\ 7\ (mod\ \ 2)\)表示\(5\)\(7\)\(2\)的余数相同
\(Something\)
\(a\ ≡\ b\ (mod\ \ n)\ \ =>\ \ b\ ≡\ a\ (mod\ \ n)\)
\(a\ ≡\ b\ (mod\ \ n)\ \ =>\ \ a+c\ ≡\ b+c\ (mod\ \ n)\)
\(a\ ≡\ b\ (mod\ \ n)\ \ =>\ \ a * c\ ≡\ b * c\ (mod\ \ n)\)
\(a\ ≡\ b\ (mod\ \ n)\ \ 且\ a\ ≡\ c\ (mod\ \ n)\ =>\ \ b\ ≡\ c\ (mod\ \ n)\)
\(∵a\ ≡\ b\ (mod\ \ n),c\ ≡\ d\ (mod\ \ n)∴a\ ±\ c\ ≡b\ ±\ d(mod\ \ n)\)
\(∵a\ ≡\ b\ (mod\ \ n),c\ ≡\ d\ (mod\ \ n)∴ac\ ≡bd(mod\ \ n)\)

欧拉定理

当正整数\(a, n\)互质,则\(a^{φ(n)}≡1(mod\ n)\)
证明:
\(S_1 = r_1, r_2, ... ,r_{φ(n)}\)\(r_i\)\(mod\ n\)的即约剩余数

\(S_1 * a = S_2 = {ar_1, ar_2, ... ,ar_{φ(n)}}\)\(ar_i\)也是\(mod\ n\)的即约剩余数

\(\prod_{i = 1}^{φ(n)}r_i ≡ \prod_{i = 1}^{φ(n)}ar_i (mod\ n)\)

\(a^{φ(n)}\ \prod_{i = 1}^{φ(n)}r_i ≡ \prod_{i = 1}^{φ(n)}r_i (mod\ n)\)

\(n|(a^{φ(n)}\ \prod_{i = 1}^{φ(n)}r_i - \prod_{i = 1}^{φ(n)}r_i)\)

\(n|(a^{φ(n)} - 1)\ \prod_{i = 1}^{φ(n)}r_i···················m|ab\)

\(r_i\)\(n\)互质

\(\prod_{i = 1}^{φ(n)}r_i\)也与\(n\)互质\(························m|a\)

\(n|(a^{φ(n)} - 1)······························m|b\)

\(m|(a - b)\ =>\ \ a\ ≡\ b\ (mod\ m)\)

\(a^{φ(n)} ≡ 1(mod\ n)\)

费马小定理

\(p\)是质数,则\(a^p ≡ 1(mod\ p)\)
证明:
\(a\ mod\ p\ ≠\ 0\),也就是\(a\)不是\(p\)的倍数时,则\(a\)\(p\)互质
由欧拉定理得\(a^{φ(p)}≡1(mod\ p)\)
\(a^{p - 1} ≡ 1 (mod\ p)·····························φ(质数) = 质数 - 1\)
\(a^p ≡ a (mod\ p)·······························两边同乘a\)
\(a\ mod\ p\ =\ 0\),也就是\(a\)\(p\)的倍数时(\(a\)\(p\)不互质)时(就不能用欧拉定理了)
\(a\ mod\ p\ =\ a^p\ mod\ p\ =\ 0\)

\(a^p\ ≡\ a\ (mod\ p)\)

欧拉定理的推论

\(a\)\(n\)互质,则对于任何正整数\(b\),有\(a^b\ ≡\ a^{b\ mod\ φ(n)}\ (mod\ \ n)\)
证明:
\(b\ =\ q\ *\ φ(n)\ +\ r\),其中\(0\ \leq r \leq\ φ(n)\),即\(r\ =\ b\ \ mod\ \ φ(n)\)
\(a^b\ ≡\ a^{q\ *\ φ(n)\ +\ r}≡(a^{φ(n)})^q\ *\ a^r\ ≡\ 1^q\ *\ a^r\ ≡\ a^r\ ≡\ a^{b\ mod\ \ φ(n)}(mod\ \ n)\)

贝祖定理

任意\(a,\ b\),存在一对\(x,\ y\),满足\(ax\ +\ by\ =\ gcd(a,\ b)\)
证明:
\(b≠0\),则\(gcd(a,\ b)\ =\ gcd(b,\ a\ mod\ b)\)
并假设存在一对整数\(x,\ y\),满足\(b*x+(a\ mod\ b)*y\ =\ gcd(b,\ a\ mod\ b)\)
所以\(bx+(a\ mod\ b)y\)

\(\ =\ bx + (a\ -\ b\lfloor a/b \rfloor) y\)

\(\ =\ bx + (ay\ -\ by\lfloor a/b \rfloor)\)

\(\ =\ ay\ +\ b(x\ -\ y\lfloor a/b \rfloor)\)

所以令\(x'\ =\ y,\ y'\ =\ x\ -\ y\lfloor a/b \rfloor\)(可以用这个反推)
就得到\(ax'\ +\ by'\ =\ gcd(a,\ b)\)
\(b=0\)的话,则显然有\(x\ =\ 1,\ y\ =\ 0\)
使得\(a\ *\ 1\ +\ b\ *\ 0\ =\ gcd(a,\ 0)\ =\ gcd(b,\ b-a)\ =\ gcd(a,\ b)\)

int gcd(int a, int b, int &x, int &y)
{
	if(b == 0)
	{
		x = 1, y = 0;
		return a;
	}
	int d = gcd(b, a % b, x, y);
	int z = x;
	x = y, y = z - y * (a / b);
	return d;
}

乘法逆元

定义:若整数\(b,m\)互质,并且\(b|a\),则存在一个整数\(x\),使得\(a/b\ ≡\ a*x(mod\ \ m)\)
\(x\)\(b\)的模\(m\)乘法逆元,记为\(b^{-1}(mod\ \ m)\)

线性同余方程

定义:给定整数\(a,b,m\),求一个整数\(x\)满足\(ax\ ≡\ b(mod\ \ m)\),或者给出无解。
因为未知数的指数为1,所以我们称之为一次同余方程,也称线性同余方程。

\(ax\ ≡\ b(mod\ \ m)\)等价于\(a\ *\ x\ -\ b\)\(m\)的倍数,假设为\(-y\)倍。
则该方程可以改写为\(ax\ +\ my\ =\ b\)

根据贝祖定理及其证明过程,线性同余方程有解当且仅当\(gcd(a,\ m)\ |\ b\)
(这里暂时不会证,阿巴阿巴阿巴)

可以用扩欧求出一组\(x_0,\ y_0\)
也就是\(ax_0\ +\ by_0\ =\ gcd(a,\ b)\)
然后两边同时除\(gcd(a,\ b)\)

\(ax_0\ /\ gcd(a,\ b)\ +\ by_0\ /\ gcd(a,\ b)\ =\ gcd(a,\ b) / gcd(a,\ b)\)

\(=\ ax_0\ /\ gcd(a,\ b)\ +\ by_0\ /\ gcd(a,\ b)\ =\ 1\)

再两边同乘\(m\)

\(ax_0\ /\ gcd(a,\ b)\ *\ m\ +\ by_0\ /\ gcd(a,\ b)\ *\ m\ =\ m\)

这样就得出\(x_0,\ y_0\)
然后又是按扩欧\(x\ =\ x_0\ *\ b\ /\ gcd(a,\ m)\)
得出原线性同余方程得一个解。

方程得通解则是所有模\(m\ /\ gcd(a,\ m)\)\(x\)同余得整数。

还有一个定理:若\(gcd(a,\ m)\ =\ 1\),且\(x_0,\ y_0\)\(ax\ +\ my\ =\ b\)的一组解
则通解可表示为\(x\ =\ x_0\ +\ mt,\ y\ =\ y_0\ -\ at\)
证明:
\(\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ax\ +\ my\ =\ b\)
\(a(x_0\ +\ mt)\ +\ m(y_0\ -\ at)\ =\ b\)
\(\ \ ax_0\ +\ amt\ +\ my_0\ - amt\ =\ b\)
\(\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ ax_0\ +\ my_0\ =\ b\)

posted @ 2021-01-28 20:14  20Maple  阅读(87)  评论(0)    收藏  举报
Live2D