C语言怎么用递归求最大公约数?

求48和64的最大公约数?64=48+16,如果48和64有公约数8,则等式两边除8后也相等8=6+2,同理可以进一步得到2也是公约数。所有公约数乘积是最大公约数。

一般的看,a和b的公约数,a>b时,因为a =b +(a-b),也是b和a-b的公约数。

同理可以推出a= n*b + c时,a和b的最大公约数也是b和c的最大公约数。注意c正是a/b的余数。

特别是当c等于0时,a和b的最大公约数就是b。

辗转相除法就是不断求b和c的过程。

}

我要回帖

更多关于 编程求最小公约数 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信