中国剩余定理(CRT)与欧拉函数[数论]
中国剩余定理
——!x^n+y^n=z^n
想必大家都听过同余方程这种玩意,但是可能对于中国剩余定理有诸多不解,作为一个MOer&OIer,在此具体说明。
对于同余方程:
x≡c1(mod m1)
x≡c2(mod m2)
···
x≡cn (mod mn) [其中任意的两个mi,mj互质]
我们可以构造出一个解:
令m=Πai[0<i<=n],Mi*mi=m。
那我们可以得到一组解:
x=ΣMi*Mi-1(mod m) 接下来我们想办法证明她是唯一的:
Mi*Mi-1≡1(mod mi)
``````
证明:
假设x1与x2均为方程的解,且x1,x2 模 m不同余。
那么 mi|x1-x2
由于(mi,mj)=1,即m|x1-x2
也就是 x1≡x2(mod m)这与假设矛盾!故命题得证。
``````
当然还有更深的道理蕴含在里面。
/*添加一个概念:完全剩余系:大概是这个意思,就是一些数模a的余数为(0,1,2,L,a-1)即为模a的完全剩余系(概念说不严谨,大概意思知道就行...)*/
- 定理一:(从简单方面入手)
对于m1,m2。我们记x(1)为m1的一个完全剩余系,x(2)意思相同。
对于x(1)i+m1*x(2)j,当x(1)i,x(2)遍历m1,m2的完全剩余系时,也遍历了m1m2的完全剩余系。
``````
证明:
注意到遍历的方式只有m1m2种,我们只需要证其两两不同余即可。
若x(1)i+m1*x(2)j≡x(1)p+m1*x(2)q(mod m1m2)
那么m1m2|x(1)i+m1*x(2)j-x(1)p-m1*x(2)q => m1|x(1)i-x(1)p => i=p => x(1)i = x(1)j
那么进一步的我们还可以得到:
m2|x(2)j-x(2)q => j=q => x(2)j=x(2)q
固原命题得证。
``````
- 定理二:
当然我们希望这个式子具有对称性,所以我们考虑(m1,m2)=1的情况。
其实因为(m1,m2)=1,所以x(1)与x(1)*m2都是模m1的完全剩余系,既然这样我就可以得到
x(1)*m2+x(2)*m1当x(1),x(2)分别遍历其各自的完全剩余系时,x(1)*m2+x(2)*m1会遍历m的完全剩余系。
- 定理三:
我们想要更加一般的结论,对于n>=2,那么
m=m1*m2*L*mn,其中任意的mi与mj(i≠j)是两两互质的,Mi*mi=m,即有:
ΣMi*x(i),当每个i遍历其各自的完全剩余系时,也会遍历m的完全剩余系。
``````
证明(我们当然可以使用数学归纳法):
① 当n=2时,由定理二已知其成立。
② 我们假设当n>2时命题成立,
我们记X=Σ(x(i)*Mi/Mn+1),m=Σmi [1<=i<=n+1]
则要证的式子化为:
x(n+1)Mn+1+mn+1X,注意到mn+1与Mn+1互质,由定理二可知,定理三成立。
``````
也就是说x(i)的每一种选择与模m的完全剩余系时一一对应的,也就是说x∈[0,m-1]的同余方程解是存在且唯一的。
这时候我们再回去看欧拉函数,假设p为质数
φ(p)=p-1
φ(p^k)=p^k-p^(k-1)=p^(k-1)(p-1)
如果(p,q)互质,那么φ(pq)会等于什么呢?(猜测φ(pq)=φ(p)*φ(q))
``````
假设p1为模p的完全剩余系,q1亦然。
那么p1*q+q1*p,当p1,q1分别遍历其各自的完全剩余系,p1*q+q1*p也会遍历模pq的完全剩余系。
①注意到若(a,p)=1且a<p,
(b,q)=1且b<q
那么a*q+b*p一定没有pq的质因子,可以自己想一下。或者可以这样想:
(a*q,b*p)=1,即他们没有公共的质因子,就是说他可以表示成两组质因子分解的和,既无法因式分解,所以(a*q+b*p,pq)=1。
③ (a,p)≠1且a<p,b亦然。
那么a*q+b*p一定能够因式分解,就是一定能表示成x*y的形式,并且(x,y)≠1。
``````
有了上述定理,欧拉函数的计算方法已经得证(请读者自己领会)。
这里给出φ的计算方法:
φ(n)=n*(1-1/p1)*(1-1/p2)*L*(1-1/pk),pi为n的质因子。
本Lowbee能力有限,如有错误,请各位大佬指正。
中国剩余定理(CRT)与欧拉函数[数论]的更多相关文章
- Bzoj 2705: [SDOI2012]Longge的问题 欧拉函数,数论
2705: [SDOI2012]Longge的问题 Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 1959 Solved: 1229[Submit][ ...
- Bzoj 2186: [Sdoi2008]沙拉公主的困惑 乘法逆元,线性筛,欧拉函数,数论
2186: [Sdoi2008]沙拉公主的困惑 Time Limit: 10 Sec Memory Limit: 259 MBSubmit: 2560 Solved: 857[Submit][St ...
- 紫书 例题 10-26 UVa 11440(欧拉函数+数论)
这里用到了一些数论知识 首先素因子都大于M等价与M! 互质 然后又因为当k与M!互质且k>M!时当且仅当k mod M! 与M!互质(欧几里得算法的原理) 又因为N>=M, 所以N!为M! ...
- Bzoj 2749: [HAOI2012]外星人 欧拉函数,数论,线性筛
2749: [HAOI2012]外星人 Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 568 Solved: 302[Submit][Status][ ...
- BZOJ4802 欧拉函数 数论
原文链接http://www.cnblogs.com/zhouzhendong/p/8117744.html 题目传送门 - BZOJ4802 题意概括 Description 已知N,求phi(N) ...
- GCD nyoj 1007 (欧拉函数+欧几里得)
GCD nyoj 1007 (欧拉函数+欧几里得) GCD 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 The greatest common divisor ...
- 中国剩余定理 & 欧拉函数 & 莫比乌斯反演 & 狄利克雷卷积 & 杜教筛
ssplaysecond的博客(请使用VPN访问): 中国剩余定理: https://ssplaysecond.blogspot.jp/2017/04/blog-post_6.html 欧拉函数: h ...
- 数论 - 欧拉函数模板题 --- poj 2407 : Relatives
Relatives Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 11372 Accepted: 5544 Descri ...
- BZOJ-2190 仪仗队 数论+欧拉函数(线性筛)
今天zky学长讲数论,上午水,舒爽的不行..后来下午直接while(true){懵逼:}死循全程懵逼....(可怕)Thinking Bear. 2190: [SDOI2008]仪仗队 Time Li ...
随机推荐
- 侯捷STL学习(四)--allocator和容器时间的实现关系
第十一节 分配器 分配器的好坏影响到容器的性能 operator new()里面调用malloc D:\Program Files (x86)\Microsoft Visual Studio 12.0 ...
- phpcms插件
最近在研究PHP,学了一段时间后感觉想自己写点东西,但是又不知道写什么,最后把目标对准了PHPCMS的插件,从网上找了一下,大部分教程都只是教怎么写插件的具体代码,而没有教怎么把插件打成安装包,特别是 ...
- eChart学习笔记
eChart的html代码很简单,给个容器,定好宽高就可以了 1 <div class="container-fluid"> 2 <div class=" ...
- 深入理解AngularJs-scope(一)
进入正文前的说明:本文中的示例代码并非AngularJs源码,而是来自书籍<<Build Your Own AngularJs>>, 这本书的作者仅依赖jquery和lodas ...
- if 一元二次方程求根
if 语句 - 只有当指定条件为 true 时,使用该语句来执行代码 if...else 语句 - 当条件为 true 时执行代码,当条件为 false 时执行其他代码 if...else if... ...
- Jquery取属性值(复选框、下拉列表、单选按钮)、做全选按钮、JSON存储、去空格
1.jquery取复选框的值 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "htt ...
- javascript痛点之四this的指向问题
先看以下例子 1.我们直接调用this看看指向的是谁 alert(this);//指向window 2.在函数中直接调用看看指向的是谁 function fn(){ alert(this); } fn ...
- UTC、GTC时间和本地时间
1.问题 对于装有Windows和Linux系统的机器,进入Windows显示的时间和Linux不一致,Linux中的时间比Windows提前8个小时. 2.解决方法 修改/etc/default/r ...
- Vue.js组件之间的通信
导语:组件之间的关系不外乎两种, 父子组件和非父子组件,本文将对两类组件之间的通信方式进行详细阐述. 父子组件间的通信 通信方式1(单向绑定): Props down, Events up (建议使用 ...
- 提高驾驶技术:用GAN去除(爱情)动作片中的马赛克和衣服
同步自我的知乎专栏:https://zhuanlan.zhihu.com/p/27199954 作为一名久经片场的老司机,早就想写一些探讨驾驶技术的文章.这篇就介绍利用生成式对抗网络(GAN)的两个基 ...