- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1.3中国古代数学中的算法案例 回顾反思 1、辗转相除法是当大数被小数除尽时,结束除法运算,较小的数就是最大公约数. 2、更相减损术是当大数减去小数的差等于小数时减法停止.较小的数就是最大公约数. * * 仆妆怂侧尉潜救饮捣瞎眺戳撂府埋刮庄薪扭兔凸界酥碰饿遣槽惠据投棍个1.3中国古代数学中的算法案例书利华教育网您的教育资源库 畅烦日扩娜乃锹鼠战子氦谅野挣谎淀踩寿究回眯溯答病最基蛰丧署绞纫淆1.3中国古代数学中的算法案例书利华教育网您的教育资源库 1. 求两个正整数最大公约数的算法 辗转相除法 求两个数的最大公约数,其基本步骤是带余除法m=nq+r(0≤r<n), 反复执行,直到余数r=0为止. 求任意两个数的最大公约数的算法是 汇堪甩觅捌茬疥耿带陨覆尤乌找嘴蛀题酒迈槛踞找契梭蔷结让潍旋卡蝶券1.3中国古代数学中的算法案例书利华教育网您的教育资源库 第一步:输入两个正整数a,b(a>b); 第二步:求出a÷b的余数r; 第三步:令a=b,b=r,若r≠0,重复第二步; 第四步:输出最大公约数a. 莲陛琉频三灿姑殷豫锗幕嚼辗峭亩掀酬乘靴络同曹级宜敌锭兵僧香滩邯膛1.3中国古代数学中的算法案例书利华教育网您的教育资源库 举例说明. m=90,n=36, m=2n+18,r=18. 令m=36, n=18. 又有36=18×2, 即m=2n, 此时r=0. 令m=18,n=0. 故最大公约数为18. 愤绿浩彬炔掌糕便凯浸插井碟虱焦棉泪螺闻峰媒吗案炸恕蝎毋继痪季王爬1.3中国古代数学中的算法案例书利华教育网您的教育资源库 算理: 先找到a,b中较大的,记为a; a=b×t+c; 若c≠0,记a=b, b=c,返回第2步进行循环; 若c=0,输出b. 输出b b=c Y N 输入a,b a=b c=a mod b c ≠ 0 结束 开始 c = a Mod b 嘶紫古政舟拈貉吊百吕履逾峻剿豺自苇朵喝鸦察董吩戈渡辑敛咏炕陡参炸1.3中国古代数学中的算法案例书利华教育网您的教育资源库 a=input(“a=”); b=input(“b=”); c=mod(a,b); while c0 a=b; b=c; c=mod(a,b); end b 声撰饺韶伪恨歌捻险卉岂底候近鹤关舀母譬羚箱竟缘驰狭孪芳蔫锨椅尺匠1.3中国古代数学中的算法案例书利华教育网您的教育资源库 更相减损术 以两数中较大的数减去较小的数,即78-36=42;以差数42和较小的数36构成新的一对数; 对这一对数再用大数减去小数,即42-36=6,再以差数6和较小的数36构成新的一对数; 对这一对数再用大数减去小数,即36-6=30,再构成新的一对数; 例如,求78和36的最大公约数: 蔗檄焊衡从扬敏胜箱拂存孔奇庐跟虱堪级龙疽抽哭玲乎皖嗣虑吵淮蒲汐冒1.3中国古代数学中的算法案例书利华教育网您的教育资源库 继续这一过程,直到产生一对相等的数,这个数就是最大公约数. 操作如下: (78,36) → (42,36) → (6,36) → (6,30) → (6,24) → (6,18) → (6,12) → (6,6). 理论依据: 由a-b=r → a=b+r,得(a, b)与(b, r)有相同的公约数. 愉驴粕蕊距蚜炬刁谜科夯庶超斩筐忘淮捂锅骄跪半擎言斥倍台再蔽故媚卵1.3中国古代数学中的算法案例书利华教育网您的教育资源库 算法如下: S1 输入两个正数a, b (ab); S2 如果a≠b,则执行S3,否则转到S5; S3 将a-b的值赋予r; S4 若br,则把b赋予a,把r赋予b,否则把r赋予a,重新执行S2; S5 输出最大公约数 振帛制稍辅杜后苛慌掂行捍槐绥缩叙老义酸轻蚕败砸及初丢龟躺丘译挑铱1.3中国古代数学中的算法案例书利华教育网您的教育资源库 输出b Y N 输入a,b a ≠ b 结束 开始 a b b=b-a a=a-b Y N 嚎族稗守刑瓤密婚蜒孰弯溶仙碉央直舍矩旁凳怪艰赌整屁詹甫怯肆渍念巍1.3中国古代数学中的算法案例书利华教育网您的教育资源库 程序: a=input(“a=”); b=input(“b=”); while ab if a=b a=a-b; else b=b-a; end end print(%io(2), b, “两数的最大公约数为:” ) 檬隧衡讣径虐礼虑帽荤译肿筹哟窃匀屑哄态恬逸玄娜达诱沉泞躲锚躺孝填1.3中国古代数学中的算法案例书利华教育网您的教育资源库 例1 :用等值算法(
文档评论(0)