- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数论入门.docx
数论入门
PAGE4 / NUMPAGES4
欧几里得算法
欧几里德算法又称辗转相除法,用于计算两个正整数a,b的最大公约数。其计算原理依赖于下面的定理:
定理:gcd(a,b) = gcd(b,a mod b) (ab 且a mod b 不为0)
证明:a可以表示成a = kb + r,则r = a mod b
假设d是a,b的一个公约数,则有
d|a,d|b,而r = a - kb,因此d|r
因此d也是(b,a mod b)的公约数
因此(a,b)和(b,a mod b)的公约数是一样的,其最大公约数也必然相等,得证
欧几里得算法模板
int gcd(int n,int m)
{
int t,r;
if(nm)
{
t=n; n=m; m=t;
}
while((r=n%m)0)
{
n=m;
m=r;
}
return m;
}
题目:HDU 1108 HDU 1576
扩展欧几里得
定理
对于不完全为 0 的非负整数 a,b,gcd(a,b)表示 a,b 的最大公约数,必然存在整
数对 x,y ,使得 gcd(a,b)=ax+by。
求解 x,y的方法的理解
设 ab。
1,显然当 b=0,gcd(a,b)=a。此时 x=1,y=0;
2,ab!=0 时
设 ax1+by1=gcd(a,b);
bx2+(a mod b)y2=gcd(b,a mod b);
根据朴素的欧几里德原理有 gcd(a,b)=gcd(b,a mod b);
则:ax1+by1=bx2+(a mod b)y2;
即:ax1+by1=bx2+(a-[a/b]*b)y2=ay2+bx2-(a/b)*by2;
根据恒等定理得:x1=y2; y1=x2-[a/b]*y2;
这样我们就得到了求解 x1,y1 的方法:x1,y1 的值基于 x2,y2.
上面的思想是以递归定义的,因为 gcd 不断的递归求解一定会有个时候 b=0,所以递归可以
扩展欧几里得代码
int ext_gcd( int a, int b, int x, int y )
{
int t, ret;
if( b==0 )
{
x = 1, y = 0;
return a;
}
ret = ext_gcd( b, a%b, x, y );
t = x, x = y, y = t-a/b*y;
return ret;
}
中国剩余定理
中国古代求解一次同余式组(见同余)的方法。是数论中一个重要定理。又称中国剩余定理。
简介
数学公式
(中国剩余定理CRT)设m1,m2,...,mk是两两互素的正整数,即gcd(mi,mj) =1,i≠j,i,j = 1,2,...,k
则同余方程组:
x≡b1 (mod m1)
x≡b2 (mod m2)
...
x≡bk (mod mk)
模[m1,m2,...,mk]有唯一解,即在[m1,m2,...,mk]的意义下,存在唯一的x,满足:
x≡bi mod [m1,m2,...,mk],i = 1,2,...,k
结论
设m1, …, mk是两两既约的正整数。那么,对任意整数a1, …, ak,一次同余方程组:
x ≡ aj(mod mj),1≤j≤k (3)
必有解,且解数为1。事实上,同余方程组(3)的解是:
x ≡ M1M1-1a1 + … + MkMk-1ak(mod m), (4)
这里,m = m1…mk,m = mjMj(1≤j≤k),以及Mj-1是满足:
MjMj-1 ≡ 1(mod mj),1≤j≤k (5)
的一个整数(即Mj是对模mj的逆)。
中国剩余定理(同余方程组)小结
中国余数定理:
设 n=n1*n2...nk, 其中因子两两互质.有: a(a1,a2,...,ak), 其中ai = a mod ni, 则 a和(a1,a2,...,ak)关系是一一对应的.就是说可以由 a求出(a1,a2,...,ak), 也可以由(a1,a2,...,ak)求出a
推论1:
对于 a=ai (mod ni) 的同余方程,有唯一解
下面说说由(a1, a2, ..., ak)求a的方法:
定义 mi = n1*n2*...nk / ni; ci = mi(mf mod ni); 其中 mi*mf mod ni = 1;
则 a = (a1*c1+a2*c2+...+ak*ck) (m
您可能关注的文档
- 数控机床编程技术 教学课件 ppt 作者 董兆伟主编 《数控机床编程技术》教学指南.doc
- 数控机床编程技术 教学课件 ppt 作者 董兆伟主编 数控机床编程技术习题答案.doc
- 数控线切割操作工培训教程 教学课件 ppt 作者 孙庆东 国家职业标准-电切削工完整版2014.4.3.doc
- 数控线切割操作工培训教程 教学课件 ppt 作者 孙庆东 操作考核试题与评分标准A.doc
- 数控线切割操作工培训教程 教学课件 ppt 作者 孙庆东 操作考核试题与评分标准B.doc
- 数控线切割操作工培训教程 教学课件 ppt 作者 孙庆东 理论考核答案A.doc
- 数控线切割操作工培训教程 教学课件 ppt 作者 孙庆东 理论考核答案B.doc
- 数控线切割操作工培训教程 教学课件 ppt 作者 孙庆东 电切削培训理论试卷A.doc
- 数控线切割操作工培训教程 教学课件 ppt 作者 孙庆东 电切削培训理论试卷B.doc
- 数控线切割操作工培训教程 教学课件 ppt 作者 孙庆东 电切削工培训大纲2014.4.3.doc
文档评论(0)