预推免之数论与组合数学(一)

预推免之数论与组合数学(一)

一、算数基本定理

任何一个大于1的自然数N,如果N不为质数,那么N可以唯一分解成有限个质数的乘积

🔺1不是素数

二、剩余类

1、剩余类

设模为n,则根据余数可将所有的整数分为n类,把所有与整数a模n同余的整数构成的集合叫做模n的一个剩余类

【例】5的剩余类:

< M o d 5 Mod_5 Mod5=0>:{0,5,10,……}

< M o d 5 Mod_5 Mod5=1>:{1,6,11……}

2、完全剩余系

从模n的每个剩余类中各取一个数,得到一个由n个数组成的集合,叫做一个模n的完全剩余系

3、简化剩余系

n的完全剩余系中与n互素的数构成的子集

【例】n=10

完全剩余系:{1,2,3,4,5,6,7,8,9,10}

简化剩余系:{1,3,7,9}

三、欧拉定理

1、欧拉定理定义

如果正整数 n 和整数 a 互质,那么就有 a φ ( n ) ≡ 1 a^{\varphi{(n)}}≡1 aφ(n)1 mod n
其中欧拉函数 φ ( n ) \varphi(n) φ(n) 是「小于 n 的正整数中和 n 互质的数」的个数( φ ( 1 ) = 1 \varphi(1)=1 φ(1)=1)

如果n为素数, φ ( n ) = n − 1 \varphi(n)=n-1 φ(n)=n1

如果 n = p k n=p^k n=pk(p为素数),则 φ ( p k ) = p k − p k − 1 \varphi(p^k)=p^k-p^{k-1} φ(pk)=pkpk1

如果p,q互质,则 φ ( p q ) = φ ( p ) φ ( q ) \varphi(pq)=\varphi(p)\varphi(q) φ(pq)=φ(p)φ(q)

n = p 1 k 1 p 2 k 2 … … p r k r n=p_1^{k_1}p_2^{k_2}……p_r^{k_r} n=p1k1p2k2prkr,其中 p 1 , p 2 … … p r p_1,p_2……p_r p1,p2pr为质数

φ ( n ) = n ∑ i = 1 r ( 1 − 1 p i ) \varphi(n)=n\sum_{i=1}^r(1-\frac{1}{p_i}) φ(n)=ni=1r(1pi1)

【例】 φ ( 100 ) = 100 ( 1 − 1 2 ) ( 1 − 1 5 ) = 40 \varphi(100)=100(1-\frac{1}{2})(1-\frac{1}{5})=40 φ(100)=100(121)(151)=40

2、欧拉定理的应用

求正整数 3 83 3^{83} 383的最后两位数

φ ( 100 ) = 40 \varphi(100)=40 φ(100)=40 并且3和100互素,所以 3 40 = 1 3^{40}=1 340=1 (mod 100)

3 83 = 3 3 × ( 3 40 ) 2 ≡ 27 ( m o d 100 ) 3^{83}=3^3×(3^{40})^2≡27(mod100) 383=33×(340)227(mod100)

四、逆元

1、逆员的定义

如果gcd(a,m)=1且a×b≡1 (mod m),那么b为a的逆员

2、逆员的应用

当求解公式:(a/b)%m 时,因b可能会过大,会出现爆精度的情况,所以需变除法为乘法

设b是a的逆元,则有a*b≡1(mod m);

则(a/b)%m = (a/b)×1%m = (a/b)×b×c%m = a*c(mod m);

即a/b的模等于a*(b的逆元)的模;

3、求逆元

(1)欧几里得扩展算法

裴蜀定理:存在整数 x,y 使得 g c d ( a , b ) = a x + b y gcd(a,b)=ax+by gcd(a,b)=ax+by

g c d ( a , b ) = 1 gcd(a,b)=1 gcd(a,b)=1,即a,b互素时, a x + b y = 1 ax+by=1 ax+by=1中的解x是a模b的乘法逆员,即 a ∗ x ≡ 1 a*x≡1 ax1 mod b

(2)费马小定理

如果p是质数,则 a p − 1 ≡ 1 a^{p-1}≡1 ap11 m o d mod mod p p p,则 a p − 2 a^{p-2} ap2 mod p为a的逆员

五、威尔逊定理

当且仅当p为素数时, ( p − 1 ) ! ≡ − 1 (p-1)!≡-1 (p1)!1 mod p

六、中国剩余定理

问题

已知:

x ≡ a 1 x≡a_1 xa1 mod m 1 m_1 m1

x ≡ a 2 x≡a_2 xa2 mod m 2 m_2 m2

​ ……

x ≡ a k x≡a_k xak mod m k m_k mk

求x

解决方法

已知:

x≡5 mod 7

x≡3 mod 11

x≡10 mod 13

序号amMy= M − 1 M^{-1} M1 mod m
157(7×11×13)/7=143 14 3 − 1 143^{-1} 1431 mod 7=5
2311(7×11×13)/11=91 9 1 − 1 91^{-1} 911 mod 11=4
31013(7×11×13)/13=77 7 7 − 1 77^{-1} 771 mod 13=12

x = ∑ a i M i y i x=\sum a_iM_iy_i x=aiMiyi mod ( ∏ m i ) (\prod m_i) (mi)=(5×143×5+3×91×4+10×77×12) mod (7×11×13) = 13907 mod 1001 =894

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值