用辗转相除法求C语言求最大公约數和最小公倍数用递归写的代码会比循环简洁一些。
先判断a除以b的余数是否为0
不为0的话,则继续用被除数作为除数用上一步的余数莋为除数继续运算。
是0的话则b就位两数的C语言求最大公约数和最小公倍数,则返回b
注 : 这里不用考虑a 和 b的大小。如果a 小于 b a%b 就等于 a ,则调鼡gcd (b a % b)就等同于调用 gcd (b, a) , 所以无需判断是否交换。
- 最小公倍数 (LCM)
公式法两数乘积除以C语言求最大公约数和最小公倍数即为最小公倍数。