最大公约数简便算法_最大公约数的求法
展开全部
质因数分解法:把每个数分别分解质因数,再把32313133353236313431303231363533e4b893e5b19e31333339666666各数中的全部公有质因数提取出来连乘,所得的积就是这几个数的最大公约数。
例如:求24和60的最大公约数,先分解质因数,得24=2×2×2×3,60=2×2×3×5,24与60的全部公有的质因数是2、2、3,它们的积是2×2×3=12,所以,(24、60)=12。
把几个数先分别分解质因数,再把各数中的全部公有的质因数和独有的质因数提取出来连乘,所得的积就是这几个数的最小公倍数。
例如:求6和15的最小公倍数。先分解质因数,得6=2×3,15=3×5,6和15的全部公有的质因数是3,6独有质因数是2,15独有的质因数是5,2×3×5=30,30里面包含6的全部质因数2和3,还包含了15的全部质因数3和5,且30是6和15的公倍数中最小的一个,所以[6,15]=30。 短除法:短除法求最大公约数,先用这几个数的公约数连续去除,一直除到所有的商互质为止,然 后把所有的除数连乘起来,所得的积就是这几个数的最大公约数。
短除法求最小公倍数,先用这几个数的公约数去除每个数,再用部分数的公约数去除,并把不能整除的数移下来,一直除到所有的商中每两个数都是互质的为止,然后把所有的除数和商连乘起来,所得的积就是这几个数的最小公倍数,例如,求12、15、18的最小公倍数。
短除法的本质就是质因数分解法,只是将质因数分解用短除符号来进行。
短除符号就是除号倒过来。短除就是在除法中写除数的地方写两个数共有的质因数,然后落下两个数被公有质因数整除的商,之后再除,以此类推,直到结果互质为止(两个数互质)。
而在用短除计算多个数时,对其中任意两个数存在的因数都要算出,其它没有这个因数的数则原样落下。直到剩下每两个都是互质关系。
求最大公因数便乘一边,求最小公倍数便乘一圈。
无论是短除法,还是分解质因数法,在质因数较大时,都会觉得困难。这时就需要用新的方法。 辗转相除法:辗转相除法是求两个自然数的最大公约数的一种方法,也叫欧几里德算法。
这就是辗转相除法的原理。
例如,求(319,377):
∵ 319÷377=0(余319)
∴(319,377)=(377,319);
∵ 377÷319=1(余58)
∴(377,319)=(319,58);
∵ 319÷58=5(余29),
∴ (319,58)=(58,29);
∵ 58÷29=2(余0),
∴ (58,29)= 29;
∴ (319,377)=29.
可以写成右边的格式。
用辗转相除法求几个数的最大公约数,可以先求出其中任意两个数的最大公约数,再求这个最大公约数与第三个数的最大公约数,依次求下去,直到最后一个数为止。最后所得的那个最大公约数,就是所有这些数的最大公约数。 更相减损法:也叫更相减损术,是出自《九章算术》的一种求最大公约数的算法,它原本是为约分而设计的,但它适用于任何需要求最大公约数的场合。
《九章算术》是中国古代的数学专著,其中的“更相减损术”可以用来求两个数的最大公约数,即“可半者半之,不可半者,副置分母、子之数,以少减多,更相减损,求其等也。以等数约之。”
翻译成现代语言如下:
第一步:任意给定两个正整数;判断它们是否都是偶数。若是,则用2约简;若不是则执行第二步。
第二步:以较大的数减较小的数,接着把所得的差与较小的数比较,并以大数减小数。继续这个操作,直到所得的减数和差相等为止。
则第一步中约掉的若干个2与第二步中等数的乘积就是所求的最大公约数。
其中所说的“等数”,就是最大公约数。求“等数”的办法是“更相减损”法。所以更相减损法也叫等值算法。
例1、用更相减损术求98与63的最大公约数。
解:由于63不是偶数,把98和63以大数减小数,并辗转相减:
98-63=35
63-35=28
35-28=7
28-7=21
21-7=14
14-7=7
所以,98和63的最大公约数等于7。
这个过程可以简单的写为:
(98,63)=(35,63)=(35,28)=(7,28)=(7,21)=(7,14)=(7,7)=7.
例2、用更相减损术求260和104的最大公约数。
解:由于260和104均为偶数,首先用2约简得到130和52,再用2约简得到65和26。
此时65是奇数而26不是奇数,故把65和26辗转相减:
65-26=39
39-26=13
26-13=13
所以,260与104的最大公约数等于13乘以第一步中约掉的两个2,即13*2*2=52。
这个过程可以简单地写为:
(260,104)=(65,26)=(39,26)=(13,26)=(13,13)=13.
比较辗转相除法与更相减损术的区别
(1)都是求最大公因数的方法,计算上辗转相除法以除法为主,更相减损术以减法为主,计算次数上辗转相除法计算次数相对较少,特别当两个数字大小区别较大时计算次数的区别较明显。
(2)从结果体现形式来看,辗转相除法体现结果是以相除余数为0则得到,而更相减损术则以减数与差相等而得到。
最大公约数简便算法_最大公约数的求法相关推荐
- 最大公约数简便算法_求最大公约数的几种算法
给定两个整数,求出这两个整数的最大公约数是我们从小就接触过的问题,但是我们如何用更简洁的算法来计算呢? 本文中,假定这两个整数是m和n且m>=n>=0.让我们从最简单的算法说起! 一.Co ...
- 最大公约数简便算法_求最大公约数的4种算法
for(z=0; z<10000000; z++) 循环只是为了增加程序的运行时间, 让我们体会算法的时间复杂度. 算法一:短除法 想法,采用短除法找出2个数的所有公约数,将这些公因子相乘,结果 ...
- 干支纪年法简便算法_电子工程师笔记,常用的C语言算法总结,值得转发收藏...
算法(Algorithm):计算机解题的基本思想方法和步骤. 算法的描述:是对要解决一个问题或要完成一项任务所采取的方法和步骤的描述,包括需要什么数据(输入什么数据.输出什么结果).采用什么结构.使用 ...
- 干支纪年法简便算法_初中历史四种纪年法,每一种都要掌握
中国历史上的四种纪年法 一.公元纪年法 公元纪年,也称公历纪年,或基督纪年.它以相传的耶稣基督诞生年即公元元年作为历史算起,在中国这一年正好是西汉平帝元始元年.以这一年为界,在此以前的时间称公元前多少 ...
- 干支纪年法简便算法_初中历史所涉及的四种纪年法
一.公元纪年法 公元纪年,也称公历纪年,或基督纪年.它以相传的耶稣基督诞生年即公元元年作为历史算起,在中国这一年正好是西汉平帝元始元年.以这一年为界,在此以前的时间称公元前多少年,在此以后的时间和公元 ...
- 干支纪年法简便算法_初中阶段常用的四种历史纪年法
一.公元纪年法 公元纪年,也称公历纪年,或基督纪年.它以相传的耶稣基督诞生年即公元元年作为历史算起,在中国这一年正好是西汉平帝元始元年.以这一年为界,在此以前的时间称公元前多少年,在此以后的时间和公元 ...
- 干支纪年法简便算法_高中化学分类学法指导,附高考化学必记知识点及规律
化学元素元素化学集中在第一本书(必修1)后半部分的无机化学内容,它是整个高中阶段知识最琐碎的一块内容.各版教材里面,都是按照元素种类进行分别的讲解,换言之,就是把每一种元素分别有什么反应.有什么性质都 ...
- 干支纪年法简便算法_高中化学分类学法指导!附高考化学必记知识点及规律
化学元素 元素化学集中在第一本书(必修1)后半部分的无机化学内容,它是整个高中阶段知识最琐碎的一块内容.各版教材里面,都是按照元素种类进行分别的讲解,换言之,就是把每一种元素分别有什么反应.有什么性质 ...
- 干支纪年法简便算法_传感智库丨流速面积法测量明渠断面流量
随着工农业生产和生活用水量的增加,水资源供需矛盾日益尖锐,计划用水和水量调配工作显得越来越重要,很多场合都需要能够迅速.准确地测量明渠断面流量. 目前,国内外研究水流流量的方法主要有:垂直多普勒法.流 ...
最新文章
- GPT3 api接口调用
- ALM11需求和测试覆盖率图解1
- 多个硬件体验如一,华为终端分布式技术会重构IoT生态吗?
- wxWidgets:常用对话框
- centos7安装配置rsync以及遇到问题
- SAP应用有可能改造成Serverless架构么?
- linux下查找命令which/whereis/locate/find的对比和总结
- C#刷剑指Offer | 二叉搜索树的后序遍历序列
- Cacti监控mysql数据库server实现过程
- Linux安装samba服务
- 设计模式和java实现
- 诚之和:裁员、关店,贝壳内部正在发生一场博弈?
- android手机进入reboot,android 静默重启 QUIESCENT REBOOT
- SSM | Spring
- 使用PHP实现Namesilo动态解析DDNS
- mybatis插入数据到sqlserver报异常The statement must be executed before any results can be obtained.
- c语言贪吃蛇游戏视频,贪吃蛇游戏,贪吃蛇游戏视频
- 如何计算CAN总线的负载率以及每帧耗时和每秒最多传输帧数
- 蔡徐坤一条微博转发过亿 幕后推手被判刑五年
- 区块链是什么通俗解释_区块链是什么,区块链是什么通俗解释
热门文章
- linux下复制catalog信息指令,基於Linux下catalog方式的 Oracle 備份策略(RMAN)
- Python Selenium系列学习
- Codeforces Round #415 (Div. 2) C. Do you want a date?
- 怎么消除间隔间的空白字符
- [转载] python int类数据的内存大小
- [转载] Python|range函数用法完全解读
- intel CPU详解
- ExtJs页面布局总结(转载)
- gitlab git 安装
- 女生可不可以进入IT行业做Linux运维工程师?