谈一道日本高考题算法优化.docVIP

  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文档。上传文档
查看更多
谈一道日本高考题算法优化

谈一道日本高考题算法优化摘 要:本文是对2004年一道日本高考题“求x的p次方除以n后的余数”的算法优化,指出原算法的理论可行性与实际操作的不可性之间的矛盾,并采用scilab语言描述了优化后的算法. 关键词:算法优化;循环 自1999年3月日本文部省颁布新的《学习指导要领》后,高考试卷数学Ⅱ#8226;B中经常出现程序设计题,其中2004年的第六题涉及的知识点有循环语句、常用对数和位数等. 编程的内容涉及整数、余数和位数等. 试题中体现了对算法的优化思想.本文在此基础上,提出一种更为优化的算法. 原题:制作这样一个程序,输入自然数x,p和n,输出计算除以n后的余数. 注意:当计算机在执行此程序时,不能处理263以上的数值. 这里,INT(x)表示不超过x的最大整数的函数.另外lg2=0.3010,需要时可用. 【程序1】 (1)程序1中,从120行到140行时语句,FOR…NEXT…用来求xp的. A可从下列提供的7个选项中选择其一. ①P;②2?鄢P;③P?鄢P;④P?鄢X;⑤A;⑥N;⑦X. 另外,150行是表示求xp除以n后的余数. B可从下列提供的6个选项中选择其一. ①INT(A/N); ②INT(A/N)?鄢N; ③A-INT(A/N); ④A+INT(A/N);⑤A-INT(A/N)?鄢N;⑥A+INT(A/N)?鄢N. (2)在10进制中是 位数,当x=4,p≥ 时;当x=8,p≥ 时,分别使得xp≥263,而据程序1的计算,此计算机不能处理. 注意:在 、 中分别填上符合条件的最小的自然数. (3)对程序1,(2)中已经谈到的关于改善x和p的大小范围,利用下列性质改变程序(设为S,T自然数,S,T除以的余数分别为s,t,这时s0时执行循环,每执行一次循环,先计算新的s,再根据au-1和au是否相等计算新的t,同时u值减2,因为i的初值为奇数,所以u的初值为偶数,当u=0时,退出循环.最后的余数yushu就是xa2乘以xa1除以n所得的余数(因为a1+a2=P). 说明: (1)程序3算法的优越性主要体现在大大减少循环执行的次数. 如当x,p,n的值分别为9、262、7时,程序1、2需运算262次循环,按照执行一次循环需要10-8秒,总共需花费时间约为1.28×107小时),而用程序3只需运算不到100次循环,所需时间不足1秒,由此足以看出它比程序1、2的优越性. (2)程序3用的算法有点类似“折半法”,拆分指数P时一分为“二”,计算余数时合二为“一”. (3)在进行算法教学时,可以进行(最)优化教学的案例有很多:如求质数问题,求最大公约数问题、求多项式的值的问题,过河问题等等. 如果我们在平时多积累,多思考,让学生在学习算法部分的内容时,敢于挑战自我,向最优化的目标靠拢. 那么,思维的逻辑性、严密性、发散性等都将在此得到很好的训练. 1

文档评论(0)

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

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

1亿VIP精品文档

相关文档