首页 欧拉定理及其应用(注解版)~~YT

欧拉定理及其应用(注解版)~~YT

举报
开通vip

欧拉定理及其应用(注解版)~~YT欧拉定理及其应用                                        欧拉函数phi(m)表示小于等于|m|的自然数中,和m互质的数的个数。 phi(m)=mΠ(1-1/p)//《算法导论》第531页        p|m 证明:若m为一素数p,则phi(m)=p-1。 若m为合数,存在p,使m=pd。 1、若p整除d,对任意a,(a, d) = 1,//注意a属于[1,d)那么(a + d, d) = 1,(a + d, p) = 1, 所以(a + d, m) = 1,所以(a + ...

欧拉定理及其应用(注解版)~~YT
欧拉定理及其应用                                        欧拉函数phi(m) 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 示小于等于|m|的自然数中,和m互质的数的个数。 phi(m)=mΠ(1-1/p)//《算法导论》第531页        p|m 证明:若m为一素数p,则phi(m)=p-1。 若m为合数,存在p,使m=pd。 1、若p整除d,对任意a,(a, d) = 1,//注意a属于[1,d)那么(a + d, d) = 1,(a + d, p) = 1, 所以(a + d, m) = 1,所以(a + kd, m) = 1,k = 0, 1, 2, ... , p - 1, 所以phi(m) = p phi(d)。//则有任意和d互质的数加上kd继续互质,所以共有p*phi(d)个 2、若p不能整除d,那么(p, d) = 1,在小于|m|的自然数里,和d互质的有p phi(d)个, 其中phi(d)个是p的倍数,所以phi(m) = (p - 1) phi(d)。//显然,除d、2d、3d……pd能整除外,其余都不能整除 由数学归纳法得到结论。 欧拉定理:如果(a, m) = 1,那么a ^ phi(m) = 1 (mod m)。//可以参考《算法导论》 证明:设R(m) = {r[1], r[2], ... , r[phi(m)]}为和m互质的数的等价类的集合。 那么有(ar[i], m) = 1,ar[i] = ar[j]当且仅当i = j。 所以aR(m) = {ar[i]} = R(m),a ^ phi(m) Πr[i] = Πar[i] = Πr[i] (mod m),a ^ phi(m) = 1 (mod m)。 欧拉定理的一个重要意义就是计算a ^ b mod m的时候,若b是一个很大的数时, 可以化成a ^ (b mod phi(m)) mod m来计算,明显地,b mod phi(m)是一个比较小的数。 当(a, m)≠1时,设对m分解质因数得到m = Πpi ^ ri,d = (a, m),m = m1 * m2, 其中m1 = Πpi ^ri,那么(m1, m2) = 1,(a, m2) = 1,         pi|d 所以a ^ phi(m2) = 1 (mod m2)。 由欧拉函数的计算公式可以得知phi(m2)|phi(m),所以a ^ phi(m) = 1 (mod m2)。 对任意i,pi|d,都有phi(m) >= log m >= ri,所以m1|d ^ phi(m),m1|a ^ phi(m)。 由于(m1, m2) = 1,所以存在整数r,0 < r < m,r = 1 (mod m2),r = 0 (mod m1), 有a ^ phi(m) = r (mod m)。 显然,a ^ 2phi(m) = 1 (mod m2),a ^ 2phi(m) = 0 (mod m1), 所以a ^ 2phi(m) = a ^ phi(m) (mod m)。 因此,即使(a, m)≠1,也能很快地得到a ^ b mod m的结果。 例题1:TC SRM273 FactorialTower 计算a[0]! ^ a[1] ^ a[2]! ^ ... ^ a[n - 1]! mod m //递归得到, /* a[0]^a[1]^a[2]^…^a[n-1]mod m等价于先求出phi(m)令m1=phi(m), 再用a[1]^a[2]^…^a[n-1]mod (m1),等价于先求出phi(m1),令m2=phi(m1), 再用a[2]^a[3]^…^a[n-1]mod (m2),等价于先求出phi(m2),令m3=phi(m2), …… 最后就有a[n-1] mod (m[n-1])。。。逆向返回 */ /* 注意,上面我们只是单方面用了递归思想,还要考虑下m1>m2>m3…… 所以至多在m-1步之后,m[m-1]=1(至于为什么为1,而不是0,显然哈~~这儿不做详细解释了),所以更高阶的将不需要计算, 我只是给出了上界,下面我将修正它********* */ 根据前面的结论,可以通过递归计算得到结果。 每一步里面,计算phi(m)的复杂度为O(sqrt(m)),计算a[i] ^ b mod m复杂度为O(a[i] + log m) //a ^ b mod m==a ^ (b mod phi(m)) mod m 由于a[i] < m,所以一步的复杂度为O(m)。 若m为偶数,则phi(m) <= m / 2。若m为奇数,则phi(m)为偶数。 且当m含有至少一个奇数的质因子时,phi(m)中2的次数不会少于m中2的次数。 //注意这句话,再结合上面给出算法的计算过程:m[i+1]=phi(mi),且有若m为偶数,则phi(m) <= m / 2,应用二分的思想,所以只要min{O(logm), n}步就能完成整个过程 //据以上注解,********的上界就可以修正为logm了。。 所以只要min{O(logm), n}步就能完成整个过程。 因此,整体复杂度为O(mlogm)。//显然啦~~~ 例题2:Strange Limit 设a1 = p,p为一质数,an+1 = p ^ an,bn = an mod m!,给出p, m,2 <= p, m <= 12,求lim bn,1 <= n, m, t <=100                                                                                 n->∞ 这题和上面那题很相似,只要计算到phi(m' = m!) = 1的时候,即可保证收敛。 这里保证了m的因子在一个很小的范围内,可认为计算phi(m')的时间为O(1)。 求余运算所需时间约O(log m'),共需要O(log m')步,所以总的复杂度为O(log ^ 2 m') = O(m ^ 2 log ^ 2 m)。//不是很难,大致说下,注意m不大,而phi(m) 1, m > 1,求A(n, m) mod t。 显然,A(1, m)可以直接求出,A(2, m) = 2 ^ m,也可以直接得到答案,A(n, 1) = 2,A(n, 2) = 4。 A(3, m) = 2 ^ 2 ^ 2 ^ …… ^ 2                 m个 也可以通过上面的方法求出。 A(4, 3) = A(3, 4) = 65536,可以直接得到答案。当m >= 4时,A(4, m) >= A(4, 4) = A(3, 65536)。 由例题2的结论可以得到,当例题2中的n到达某个程度的时候就会收敛。 由于当t > 1时,phi(t) < t,所以收敛最多只需要t步,而这里65536 > 100 >= t,所以A(4, m) mod t肯定已经收敛了。 所以这里只要取A(3, 99) mod t即可。 对于n > 4,m >= 3,A(n, m) >= A(4, 4),所以A(n, m) mod t也只要取A(3, 99) mod t即可。 由于对于一个t有若干组n, m,只要用一个数组把结果存起来,直接输出即可。 计算phi(t)的时间复杂度同样也可以认为是O(1), 总的时间复杂度主要和计算A(3, m)有关,为O(100 * 100 + 100 * log t)。
本文档为【欧拉定理及其应用(注解版)~~YT】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_531654
暂无简介~
格式:doc
大小:19KB
软件:Word
页数:3
分类:生活休闲
上传时间:2017-09-20
浏览量:27