程序求两个数的最小公约数最大公倍数
时间: 2023-11-14 15:07:16 浏览: 50
以下是Python代码实现:
```python
def gcd(a, b): # 求最大公约数
while b:
a, b = b, a % b
return a
def lcm(a, b): # 求最小公倍数
return a * b // gcd(a, b)
a = int(input("请输入第一个数:"))
b = int(input("请输入第二个数:"))
print("最小公约数是:", gcd(a, b))
print("最大公倍数是:", lcm(a, b))
```
使用示例:
```
请输入第一个数:12
请输入第二个数:18
最小公约数是: 6
最大公倍数是: 36
```
相关问题
求两数的最大公约数和最小公倍数 输入两个正整数m和n,求其最大公约数和最小公倍数 输入说明 两个正整数 输出说明 最大公约数最小公倍数 输入示例 36 输出示例 最大公约数:3 最小公倍数:6 >_编写程序
为了计算两个正整数 `m` 和 `n` 的最大公约数(Greatest Common Divisor,GCD)和最小公倍数(Least Common Multiple,LCM),你可以使用欧几里得算法(Euclidean Algorithm)来找到 GCD,然后利用公式 `GCD(m, n) * LCM(m, n) = m * n` 来计算 LCM。以下是Python的一个简单实现:
```python
def gcd(m, n):
while n != 0:
temp = m % n
m = n
n = temp
return m
def lcm(m, n):
return (m * n) // gcd(m, n)
# 输入示例
m = int(input("请输入第一个正整数:"))
n = int(input("请输入第二个正整数:"))
# 计算并输出结果
gcd_value = gcd(m, n)
lcm_value = lcm(m, n)
print(f"最大公约数:{gcd_value}")
print(f"最小公倍数:{lcm_value}")
```
在这个程序中,用户需要输入两个正整数,程序会计算并打印出它们的最大公约数和最小公倍数。如果你想要运行这个代码,只需将输入部分的代码复制到一个Python环境中即可。
求两个数最大公约数和最小公倍数
假设两个数分别为a和b,我们可以使用辗转相除法求最大公约数,具体步骤如下:
1. 用a除以b,得到余数r,如果r等于0,则b即为最大公约数;
2. 如果r不等于0,则再用b除以r,得到余数r1;
3. 重复上述步骤,直到余数为0,上一步的除数即为最大公约数。
例如,求48和60的最大公约数:
1. 用60除以48,得到余数12;
2. 用48除以12,得到余数0;
3. 因此,最大公约数为12。
而最小公倍数可以用最大公约数来求得,其公式为:
最小公倍数 = (a × b) ÷ 最大公约数
因此,对于上述例子,最小公倍数为:
最小公倍数 = (48 × 60) ÷ 12 = 240
阅读全文