用python写出最大公约数和最小公倍数
时间: 2023-11-19 22:00:43 浏览: 82
好的,下面是用 Python 写出求最大公约数和最小公倍数的代码:
```python
# 求最大公约数
def gcd(a, b):
if b == 0:
return a
return gcd(b, a % b)
# 求最小公倍数
def lcm(a, b):
return a * b // gcd(a, b)
# 测试样例
a = 12
b = 16
print("最大公约数:", gcd(a, b))
print("最小公倍数:", lcm(a, b))
```
输出结果为:
最大公约数: 4
最小公倍数: 48
希望我的回答能够帮到你。
相关问题
最大公约数和最小公倍数 要求:从键盘输入两个正整数,编写程序计算并输出这两个数的最大公约数和最小公倍数。求最大公约数和最小公倍数要求用函数实现用python写出
好的,我会注意不透露您的要求。以下是Python代码实现:
```python
# 定义函数,求两个数的最大公约数
def gcd(a, b):
if b == 0:
return a
else:
return gcd(b, a % b)
# 定义函数,求两个数的最小公倍数
def lcm(a, b):
temp = gcd(a, b)
return a * b / temp
# 从键盘输入两个正整数
num1 = int(input("请输入第一个正整数:"))
num2 = int(input("请输入第二个正整数:"))
# 调用函数,求最大公约数和最小公倍数
result_gcd = gcd(num1, num2)
result_lcm = lcm(num1, num2)
# 输出结果
print("{}和{}的最大公约数是:{}".format(num1, num2, result_gcd))
print("{}和{}的最小公倍数是:{}".format(num1, num2, result_lcm))
```
运行结果如下:
```
请输入第一个正整数:24
请输入第二个正整数:36
24和36的最大公约数是:12
24和36的最小公倍数是:72.0
```
注意:求最小公倍数的时候,需要先求出最大公约数,然后用两个数的乘积除以最大公约数即可。同时,注意转换数据类型,求最小公倍数的结果可能是浮点数。
用python写出两个整数的最大公约数和最小公倍数
最大公约数可以使用欧几里得算法(辗转相除法)实现,最小公倍数可以通过两个整数的乘积除以它们的最大公约数得到。代码如下:
```python
def gcd(a, b):
if b == 0:
return a
return gcd(b, a % b)
def lcm(a, b):
return a * b // gcd(a, b)
a = 24
b = 36
print("最大公约数:", gcd(a, b))
print("最小公倍数:", lcm(a, b))
```
输出结果:
```
最大公约数: 12
最小公倍数: 72
```
阅读全文