用paython编写计算输出最大公约数和最小公倍数。(注意:不允许使用math模块中的gcd()函数)
时间: 2024-04-30 09:21:40 浏览: 155
可以使用辗转相除法求解最大公约数,再利用公式 a*b = gcd(a,b) * lcm(a,b) 求解最小公倍数。
代码如下:
```python
def gcd(a, b):
while b:
a, b = b, a % b
return a
def lcm(a, b):
return a * b // gcd(a, b)
num1 = int(input("请输入第一个数:"))
num2 = int(input("请输入第二个数:"))
print("最大公约数为:", gcd(num1, num2))
print("最小公倍数为:", lcm(num1, num2))
```
运行结果:
```
请输入第一个数:12
请输入第二个数:20
最大公约数为: 4
最小公倍数为: 60
```
相关问题
编写demo(var1,var2)函数,从键盘输入两个正整数作为函数参数,返回两个值,一个为最大公约数,一个为最小公倍数。用paython编写,不允许使用math模块中的gcd()函数
下面是一个示例代码实现:
```python
def demo(var1, var2):
# 求最大公约数
if var1 < var2:
var1, var2 = var2, var1
while var2 != 0:
var1, var2 = var2, var1 % var2
gcd = var1
# 求最小公倍数
lcm = (var1 * var2) // gcd
return gcd, lcm
# 测试
a = int(input("请输入第一个正整数:"))
b = int(input("请输入第二个正整数:"))
result = demo(a, b)
print("最大公约数为:", result[0])
print("最小公倍数为:", result[1])
```
首先判断两个数的大小,保证`var1`大于等于`var2`。然后使用辗转相除法求最大公约数,最后利用公式求最小公倍数。最后返回一个元组,包含最大公约数和最小公倍数。测试时从键盘输入两个正整数,并输出返回的结果。
编写demo(var1,var2)函数,从键盘输入两个正整数作为函数参数,返回两个值,一个为最大公约数,一个为最小公倍数。用paython编写
下面是实现该函数的Python代码:
```python
def demo(var1, var2):
# 求最大公约数
a = max(var1, var2)
b = min(var1, var2)
while b != 0:
temp = a % b
a = b
b = temp
gcd = a
# 求最小公倍数
lcm = var1 * var2 // gcd
return gcd, lcm
```
使用示例:
```python
a = int(input("请输入一个正整数:"))
b = int(input("请输入另一个正整数:"))
result = demo(a, b)
print("{}和{}的最大公约数为{},最小公倍数为{}".format(a, b, result[0], result[1]))
```
阅读全文