用for循环求最大公约数最小公倍数
时间: 2024-11-28 17:16:34 浏览: 5
用for循环求最大公约数(Greatest Common Divisor, GCD)和最小公倍数(Least Common Multiple, LCM)通常涉及欧几里得算法和公式法。以下是通过for循环计算这两个值的基本步骤:
**求最大公约数 (GCD)**
1. 定义两个数a和b(假设a >= b)。
2. 使用for循环,从较小的数开始迭代到较大的数。
- 初始化一个变量temp,通常设置为b。
- 在每次循环中,将a赋值给b,然后将原来的b除以余数(即a % b),将这个余数赋给a。
- 当余数为0时,b就是当前的GCD(因为如果a能整除b,那么b也就是两者的公约数)。
3. 返回b作为结果。
**求最小公倍数 (LCM)**
1. 先用上面得到的最大公约数GCD(a, b)。
2. 最小公倍数等于两数之积除以它们的最大公约数:LCM(a, b) = |a * b| / GCD(a, b)。
3. 因为GCD已经计算出来了,直接相乘再除以它即可得到LCM。
**示例代码(Python):**
```python
def gcd_loop(a, b):
while b != 0:
a, b = b, a % b
return a
def lcm_loop(a, b):
lcm = abs(a * b) // gcd_loop(a, b)
return lcm
# 测试
num1 = 48
num2 = 18
gcd = gcd_loop(num1, num2)
lcm = lcm_loop(num1, num2)
print(f"GCD({num1}, {num2}) is {gcd}")
print(f"LCM({num1}, {num2}) is {lcm}")
```
阅读全文