python:完成函数fun(a,b),该函数要返回两个正整数a、b的最大公约数和最小公倍数。主程序中输入两个正整数,调用该函数,并输出两个数的最大公约数和最小公倍数。
时间: 2024-03-14 22:46:54 浏览: 212
可以使用欧几里得算法求最大公约数,然后通过最大公约数和两个数的乘积求得最小公倍数,具体实现如下:
```python
def fun(a, b):
# 求最大公约数
while b != 0:
a, b = b, a % b
gcd = a
# 求最小公倍数
lcm = a * (b // gcd)
return gcd, lcm
# 主程序
a = int(input("请输入第一个正整数:"))
b = int(input("请输入第二个正整数:"))
gcd, lcm = fun(a, b)
print("{}和{}的最大公约数为{},最小公倍数为{}。".format(a, b, gcd, lcm))
```
执行以上代码,输入两个正整数,即可得到它们的最大公约数和最小公倍数。
相关问题
编写一个函数,功能是求两个正整数 m 和 n 的最大公约数和最小公倍数,调用该函数,输出最大公约数和最小公倍数。python
以下是 Python 代码实现:
```python
def gcd_lcm(m, n):
"""
求两个正整数 m 和 n 的最大公约数和最小公倍数
"""
# 先求最大公约数
max_val = max(m, n)
min_val = min(m, n)
while min_val != 0:
tmp = max_val % min_val
max_val = min_val
min_val = tmp
gcd = max_val
# 再求最小公倍数
lcm = m * n // gcd
return gcd, lcm
# 调用函数并输出结果
m = 12
n = 18
res = gcd_lcm(m, n)
print("最大公约数:", res[0])
print("最小公倍数:", res[1])
```
输出结果为:
```
最大公约数: 6
最小公倍数: 36
```
希望能对您有所帮助!
用python写代码:分别定义两个函数 max divider 和 min multiplier,返回输入两个正整数的最大公约数和最小公倍数
下面是代码实现:
```python
# 定义最大公约数函数
def max_divider(a, b):
if a < b:
a, b = b, a
while b != 0:
temp = a % b
a = b
b = temp
return a
# 定义最小公倍数函数
def min_multiplier(a, b):
return a * b // max_divider(a, b)
# 测试函数
a = 24
b = 36
print("最大公约数:", max_divider(a, b))
print("最小公倍数:", min_multiplier(a, b))
```
输出结果为:
```
最大公约数: 12
最小公倍数: 72
```
阅读全文