对输入的两个正整数a,b,返回最大公约数和最小公倍数
时间: 2024-12-17 13:43:36 浏览: 8
C语言113题
对于输入的两个正整数a和b,它们的最大公约数(Greatest Common Divisor, GCD)是指能同时整除这两个数的最大正整数。寻找最大公约数的一种常见算法是欧几里得算法,它基于这样一个事实:a和b的最大公约数等于b和a除以b的余数(即a mod b)的最大公约数。
而最小公倍数(Least Common Multiple, LCM)则是指能够被这两个数整除的最小正整数。根据数学原理,两个数的乘积等于它们的最大公约数和最小公倍数的乘积,即a * b = GCD(a, b) * LCM(a, b)。
因此,为了计算最小公倍数,一旦得到了最大公约数,可以简单地通过这个公式求解:LCM(a, b) = (a * b) / GCD(a, b)。
如果你需要代码实现,这里有一个简单的Python示例:
```python
def gcd(a, b):
while b != 0:
a, b = b, a % b
return a
def lcm(a, b):
return a * b // gcd(a, b)
# 示例
a = 48
b = 18
gcd_value = gcd(a, b)
lcm_value = lcm(a, b)
```
阅读全文