首先,我们不妨先拿两个数试求一下最大公约数
就拿‘81’和‘63’为例。
..........
..........
.......... 可以进行合并
我们不难看出,在这样一个过程中,两数中的较大值,在不断的缩小,直到最后两数相减后为1与最大公约数9的乘积。
相似的,一个相似的过程在C语言中可以表达为为这样一种形式:
那么说了这个算法,那么为什么这个算法能行呢?:
我们不难知道两个有最大公约数的数同时除以最大公约数后,两数互质:
因而可以将两数相减写成“最大公约数×(互质数相减)”这种形式,然后辗转相减,直到互质数相减为一时,我们就可以得到最大公约数了。