# 计算最大公约数
def gcd(x,y):
"""
计算最大公约数
:param x:一个正整数
:param y:一个正整数
:return:x,y的最大公约数
"""
(x,y)=(y,x) if x>y else (x,y)
for factor in range(x, 0, -1): #使用range的时候,可使用负数步长,前面加上-即可
if x % factor == 0 and y % factor == 0:
return factor
def lcm(x,y):
"""
计算最小公倍数
Parameters:
x-正整数
y-正整数
Returns:
x和y的最小公倍数
"""
return x*y//gcd(x,y)
print(gcd(25,5))
print(lcm(25,5))
结果:
5
25