代码如下:
def gcd(a, b):
if b == 0:
return a
else:
return gcd(b, a % b)
def lcm(a, b):
return a * b // gcd(a, b)
# 示例
a = 12
b = 18
print("最大公约数为:", gcd(a, b))
print("最小公倍数为:", lcm(a, b))
思路:
gcd
,使用辗转相除法实现。lcm
,使用公式 a * b // gcd(a, b)
实现。gcd
和 lcm
函数,输出结果。注意点:
lcm
函数中,需要使用整除符号 //
,因为普通的除法 /
会得到一个浮点数,而我们需要得到一个整数。lcm
函数时,需要注意顺序,因为最小公倍数是两个数的乘积除以最大公约数,所以先求最大公约数再求最小公倍数。