初等数论 (4)课件.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
初等数论 雅礼 朱全民 内容介绍 素数及其性质 欧几里得公式gcd(a,b) 计算n的最大互质数 欧几里得公式推广:d=gcd(a,b)=ax+by 计算同余方程 ax≡b(mod n)(n0) 求解同余式组a≡ai(mod ni)(1≤i≤k) 计算不定方程ax+by=c 数论的应用 初等数论 基本概念 整除和约数 素数和合数 唯一分解定理 除法的定义和同余 最大公约数(gcd)和最小公倍数(lcm) 互素、两两互素 素数测试 问题一:求1~n的所有素数 Eraosthenes的筛子 对于素数p,删除p*p, p*(p+1), p*(p+2)… 例:求[n, n+m]内的所有素数 n很大 m很小 如何筛? 如何加速? 素数测试 问题二:给数n,它是素数吗? 朴素算法:枚举sqrt(n)内约数 改进算法:枚举sqrt(n)内素数 预处理出sqrt(n)内素数:筛? Monte-Carlo算法 不断选基b,重复以下测试 测试越多,正确概率越大 欧几里得公式gcd(a,b) gcd(a,b)=gcd(b, a mod b) 程序:递归求解 时间复杂度O(logb) 传球游戏 N个人围圈玩传球游戏,开始时第一个人拿着球,每个人把球传给左手的第K个人。满足1≤K≤N/2。求K的最大值,使得第一个人重新拿到球之前,每个人都拿过球。 输入:数串n(3 ≤ N ≤ 10200) 输出:K的最大值 分析 如果n是奇数,那么最大的可能的[n/2]。由于k*2=n-1,所以gcd(k*2,n)=1,可以得到gcd(k,n)=1,所以直接输出[n/2]即可。 如果N是偶数且为4的倍数:则N/2显然不可能是符合要求的K,接着试验N/2-1,显然有gcd(N/2-1, N/2)=1,而由于N是4的倍数,所以N/2是偶数,N/2-1是奇数,所以gcd(N/2-1, N)=1。此时满足题意的K就是N/2-1。 N是偶数但不是4的倍数。此时N/2-1也是偶数,显然不可能是正确答案。那么就来考察一下N/2-2:这是一个奇数。根据刚才的介绍,有gcd(N/2-2,N/2)≤2,但是N/2是奇数,所以gcd(N/2-2,N/2)=1。最后同样可以得到gcd(N/2-2,N)=1。所以此时的答案就是N/2-2。 欧几里得推广 用一个线性组合来表示最大公约数,即d=gcd(a,b)=ax+by。要求计算出其中的整系数X和Y (X与Y可能为0或负数) 分析: 若b=0,则gcd(a,b)=a,x=1,y=0; 若b0,则首先计算出d’=gcd(b,a mod b)和满足d’=bx’+(a mod b)y’的x’、y’。在这种情况下, 有d=gcd(a,b)=d’=gcd(b,a mod b)。 为了得到满足d=ax+by的x和y,我们将d’=gcd(b,a mod b)转化成线性组合d’=bx’+(a mod b)y’=bx’+(a-[a/b]b)y’ =ay’+b(x’-[a/b]y’)。对应d=ax+by,选择x=y’;y=x’-[a/b]*y’就可以满足等式。 扩展的Euclid算法 function extended_gcd(a,b:longint; var x,y:longint):longint; begin if b=0 then begin extended_gcd:=a; x:=1; y:=0; end else begin //计算a与a mod b的最大公约数d’和满足d’=ax’+a mod b*y’的x’、y’值。 //x=y’;y=x’-[a/b]*y’ extended_gcd:=extended_gcd(b, a mod b, x, y); t:=x; x:=y; y:=t-(a div b)*y end; end; 满足ax+by=d的数对(x,y)不是惟一的 因为当x增加b,y减少a,和不变。 除法表达式 除法表达式有如下的形式: X1 / X2 / X3 / … / Xk 其中Xi是正整数且Xi≤109 (1≤i≤k,k≤10 000)。 除法表达式应当按照从左到右的顺序求和, 例如表达式1/2/1/2的值为1/4。 可以在表达式中嵌入括号以改变计算顺序, 例如表达式(1 / 2) / (1 / 2)的值为1。 现在给一个除法表达式E要求告诉是否可以通过增加括号使表达式值为E′,E′是整数。 分析 X2必须在分母 其他都可以在分子 最后结果是整数吗? X2分解因数? 复杂度??? 每次约掉X2和Xi的最大公约数! 线性同余方程ax≡b(mod n)(n0) 已知同余方程ax≡b(mod n)(

文档评论(0)

yingzhiguo + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5243141323000000

1亿VIP精品文档

相关文档