欧几里得辗转相除求最大公约数

最大公约数:

如果有一个自然数a能被自然数b整除,则称a为b的倍数,b为a的约数.几个自然数公有的约数,叫做这几个自然数的公约数.公约数中最大的一个公约数,称为这几个自然数的最大公约数.

明确之后步入学习如何求最大公倍数,求最大公倍数有很多方法,这里是其中一种我认为最常用的方法——欧几里得辗转相除法

例如求数字a和b的最大公约数首先在数学中要求a>=b,然后进行求a除以b的余数r,然后赋值a=b,b=r。然后重新回到刚才的相除取余数以及赋值,重复循环计算,直到计算得出r==0时,此时的b就是原先a与b的最大公约数。

但是在c语言取模操作后,即使a<b,取模的结果是r=a,则代入后a=b,b=r也就赋值成原先小于b的a,再次进入循环后赋值一遍的a>b,求出的结果仍然是a,b的最大公约数,所以我认为可以不用额外判断a,b的大小1具体以c语言实现如图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值