zoukankan      html  css  js  c++  java
  • 初等数论整理

    1.gcd与exgcd

    欧几里得算法:

    (gcd(a, b) = gcd(b, a mod b))

    (code:)

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

    扩展欧几里得算法:

    (ax + by = gcd(a, b)(a > 0, b > 0))

    (a < 0), 可把符号转移到(x')中,令(x = x')

    (d=gcd(a,b)),对于一组不定方程(ax+by=c),有解当且仅当(d | c)

    对于这组不定方程,我们可以先求出(ax_0 + by_0 = d),得到一组解(x_0,y_0),同时乘上(frac {c} {d}),即得到一组原方程的解。(exgcd)函数返回的值,是(gcd(a,b))

    (code:)

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

    对于这组不定方程的通解,可以表示为:

    (x = x cdot frac {c}{d} + t cdot frac {b}{d}, y = y cdot frac {c}{d} - t cdot frac {a}{d}.)

    其中(t)的取值在整数集合里。

    2.欧拉函数及欧拉定理

    欧拉函数

    欧拉函数(( phi (n))):表示([1,n-1])中与(n)互质的整数的个数。

    一些定理

    (1.)(n)为质数,则(phi(n) = n - 1).

    证明:显然。

    (2.)(n)为一个质数(p)的幂次方,表示为(p ^ a),则(phi(p^a) = (p-1) cdot p^{a-1}).

    证明:

    小于等于(p^a)的正整数一共有(p^a - 1)个,对于那些可以被(p)整除的数可以表示为(pcdot t),其中(t=(1,2,cdots, p^{a-1}-1 )),共有(p^{a-1}-1)个数。所以不能被整除的数的个数,即(phi(p^a)=p^a-1-(p^{a-1}-1)=p^a-p^{a-1} = (p-1) cdot p^{a-1}.)

    (3.)(a,b)互质,则(phi(a cdot b)= phi(a) cdot phi(b)).

    证明:

    根据(phi(n))的通项公式易证。

    (4.)(a|b),则$ phi(a cdot b)=a cdot phi(b)$.

    证明:

    根据(phi(n))的通项公式易证。

    欧拉函数的通项公式

    (n =prod _{i=1}^{k}p_i^{ai})(n)的质数幂乘积,则(phi(n) = n cdot prod_{i = 1}^{k}(1- frac{1}{p_i}).)

    证明:

    各质数幂之间显然互质,根据上面的定理,即可表示出:

    (phi(n) = phi(p_{1}^{a_1}) imes phi(p_{2}^{a_2}) imesphi(p_{3}^{a_3}) imes cdots imes phi(p_{k}^{a_k}))

    (=(p_{1}^{a_1} - p_{1}^{a_1 - 1}) imes (p_{2}^{a_2} - p_{2}^{a_2 - 1}) imes(p_{3}^{a_3} - p_{3}^{a_3 - 1}) imes cdots imes(p_{k}^{a_k} - p_{k}^{a_k - 1}))

    (= p_1^{a_1} imes p_2^{a_2} imes p_3^{a_3} imes cdots imes p_{k}^{a_k} imes (1-frac{1}{p_1}) imes (1-frac{1}{p_2}) imes(1-frac{1}{p_3}) imes cdots imes (1-frac{1}{p_k}).)

    ​ $ = n imes (1-frac{1}{p_1}) imes (1-frac{1}{p_2}) imes(1-frac{1}{p_3}) imes cdots imes (1-frac{1}{p_k}).$

    欧拉定理

    (a)(p)互质,则(a^{phi{(p)}} equiv 1(mod p).)

    一些定理

    (1.)(b,p)互质,则(a^b mod p = a^{b mod phi(p)} mod p.)

    证明:

    由欧拉定理,则:

    (a^b mod p =frac{a^b}{a^{phi(p)}} mod p = a^{b mod phi(p)} mod p.)

  • 相关阅读:
    4、10种数组去重的方法
    3.实现一个函数clone 可以对Javascript中的五种主要数据类型(Number、string、Object、Array、Boolean)进行复制
    2.怎么添加、移除、复制、创建、和查找节点
    1.简述同步和异步的区别
    89. 一行或多行文本超出隐藏
    88.阐述一下CSS Sprites(雪碧图)
    87、CSS属性overflow属性定义溢出元素内容区的内容会如何处理
    86.style标签写在body后与body前有什么区别?
    正则表达式:获取运算符之间变量
    反射问题(欢迎交流)
  • 原文地址:https://www.cnblogs.com/BeyondLimits/p/11341750.html
Copyright © 2011-2022 走看看