最大公约数和最小公倍数
最大公约数和最小公倍数(模块:numEx,所在文件名 num_hw.py,Level:★) (1) 函数原型:def gcd(x, y),求取最大公约数
(2) 函数原型:def lcm(x, y),求取最小公倍数
参数 x,y:正整数
返回值:正整数,其中 gcd(x, y)返回 x 与 y 的最大公约数,lcm(x, y)求取 x 与 y 的最小
公倍数。如果参数异常,返回错误“Parameter Error.”
代码如下(函数引用)
# 最大公约数
def gcd(x, y):
if x < 0:
return 'Parameter Error.'
if isinstance(x, int) == True and isinstance(y, int) == True:
x, y = (x, y) if x >= y else (y, x)
while y:
x, y = y, x % y
return x
else:
return 'Parameter Error.'
# 最小公倍数
def lcm(x, y):
if x < 0:
return 'Parameter Error.'
if isinstance(x, int) == True and isinstance(y, int) == True:
return x * y // gcd(x, y)
else:
return 'Parameter Error.'