个数与约简的数的乘积就是所求的最大公约数。
试一试②:用更相减损术求80和36的最大公约数.
(三)辗转相除法与更相减损术的区别
(1)都是求最大公约数的方法,计算上辗转相除法以 为主,更相减损术以 为主,计算次数上辗转相除法计算次数相对 ,特别当两个数字大小区别较大时计算次数的区别较明显。
(2)从结果体现形式来看,辗转相除法体现结果是 则得到,而更相减损术则以 相等而得到。
问题四:你能根据更相减损术设计程序,求两个正整数的最大公约数吗?
算法步骤:
第一步,给定两个正整数m,n,不妨设m>n
第二步,若m,n都是 ,则 ,使 , 后的两个数仍记为m,n
第三部,d=m-n
第四步,判断 是否成立,若是,则将n,d中的较大者记为m,较小者记为n,返回第三步;否则, 为所求的最大公约数。
程序框图: