数论概论笔记 第11章 欧拉Φ函数与中国剩余定理

来源:互联网 发布:海岛奇兵小怪升级数据 编辑:程序博客网 时间:2024/04/26 06:50


定理11.1 Φ函数公式:

(a) 如果p是素数且k ≥ 1, 则 Φ(p ^ k) = p ^ k  - p ^ (k - 1);

(b) 如果 gcd(m, n) = 1, 则 Φ(mn) = Φ(m) Φ(n)

定理11.1证明:

定理11.1 (a) 证明:

当m = p ^ k,p 是素数, [1, m) 内的a 被 p 整除时,a 不与 p ^ k 互素,即

Φ(p ^ k) = p ^ k - # {a: 1 ≤ a ≤ p ^ k, p | a}

              = p ^ k - p ^ (k - 1)

定理11.1 (a) 证明完毕;

定理11.1 (b)证明:

取集合 {a : 1 ≤ a ≤mn, gcd(a, mn) = 1}                                                  (1)

与集合{(b, c) : 1 ≤ b ≤m, gcd(b, m) = 1,  1 ≤ c ≤n, gcd(c, n) = 1}        (2)

需证明:⑴集合(1)的不同数对应集合(2)中的不同序对;

                ⑵集合(2)的每个序对适合集合(1)中的某个数

设对应关系满足 a ≡ b (mod m),,a ≡ c (mod n)

陈述⑴:取集合(1)中的两个数 a1, a2,设a1, a2在集合(2)中有相同的象,

                有 a1 ≡ a2 (mod m),,a1 ≡ a2 (mod n),

                故a1 - a2 被m, n整除

                因为 m, n 互素,则a1 - a2 被mn整除,a1 ≡ a2 (mod mn)

                则a1, a2是集合(1)中的相同元素。陈述⑴得证;

陈述⑵ 需证对b, c 的任何已知值,至少有一个整数 a 满足

               a ≡ b (mod m) 与a ≡ c (mod n)

               该证明见中国剩余定理的证明:

定理11.2 中国剩余定理:设m与n 为整数,gcd(m, n) = 1,b与c为任意整数,则同余式组

              x ≡ b (mod m) 与 x ≡ c (mod n)

             恰有一个解0 ≤ x ≤mn。

定理11.2 证明:

由解第一个同余式 x ≡ b (mod m) 开始,其解由形如 x = my + b 的所有数组成;

代入第二个同余式得:

my ≡ (c - b) (mod n)

该式恰有一个解 y1 使 1 ≤ y1 < n

则 x1 = my1 + b 为原同余式的解


求Φ函数

void initphi(int N){for (int i=1; (phi[i] = i) != N; ++i);for (int i=2; i!=N; ++i)if (phi[i] == i)for (int j=i; j<=N; j += i)phi[j] = phi[j] / i * (i - 1);}

中国剩余定理
int china(int b[], int w[], int k){//b[i] = a % w[i], 所有w[i]互质int n = 1, a = 0, x, y;for (int i=0; i!=k; ++i)n *= w[i];for (int i=0; i!=k; ++i){int m = n / w[i];extgcd(w[i], m, x, y); //使 y * m % w[i] = 1a = (a + y * m * b[i]) % n;}return (a + n) % n;}
原创粉丝点击