求两个数的最大公约数

解题思路:

方法一、两个数的最大公约数,必定是小于等于两个数中较小的那个数,然后以这个较小数为除数分别和输入的两个数做除法运算,每循环一次,除数数值减一,当两个数同时可以被这个数整除时,这个数即为两个数的最大公约数。

完整程序:

求两个数的最大公约数

方法二、辗转相减法:

 辗转相减法(求最大公约数),即尼考曼彻斯法,其特色是做一系列减法,从而求得最大公约数。例如 :两个自然数35和14,用大数减去小数,(35,14)->(21,14)->(7,14),此时,7小于14,要做一次交换,把14作为被减数,即(14,7)->(7,7),再做一次相减,结果为0,这样也就求出了最大公约数7

完整程序:

求两个数的最大公约数

辗转相除法:首先用较大数作为被除数,用较小数作除数进行除法运算, 若余数不为0,再把上次的除数作为下次的被除数,把上次余数作为下次的除数,继续去除,只到余数为0为止,此时的除数即为两数的最大公约数。

完整程序:

求两个数的最大公约数