求最大公约数伪代码

求最大公约数伪代码

辗转相除法

辗转相除法也叫欧几里得算法,是一种非常古老的求解两个数的最大公约数的算法。其基于的原理:两个正整数a和b(a > b),它们的最大公约数gcd等于a除以b的余数r和b之间的最大公约数。比如,10和25的最大公约数5等于25除以10的余数5和10的最大公约数;再比如51和21的最大公约数3等于51除以21的余数9和21的最大公约数,而9和21的最大公约数为3。根据上面的原理,辗转相除法的算法流程可以如下:
步骤1:计算a与b的余数r。
步骤2:如果r为0,则返回gcd = b。否则,转到步骤3。
步骤3:使用b的值更新a的值,使用余数r更新b的值,转到步骤1。
参考链接:https://www.cnblogs.com/laizhenghong2012/p/8457784.html

用伪代码实现欧几里得算法

开始
输入正整数a,b(a>b)
用a除以b得到余数r
再比较b,r的大小
若b>r
令b = r,a = b
用a除以b得到余数r
重复此算法直到r = 0
若b<r
令a = r
用a除以b得到余数r
重复此算法直到r = 0
此时b的值为最大公因数
输出最大公约数b

手动测试伪代码是否正确

posted @ 2022-10-08 20:38  20221419卢冠宇  阅读(21)  评论(0编辑  收藏  举报