最大公约数(GCD): 最大公约数是指两个或多个整数中能够同时整除的最大的正整数。也就是说,如果 a 和 b 都能被 c 整除,那么 c 就是 a 和 b 的最大公约数。最大公约数用 GCD(a, b) 或 (a, b) 表示。例如,对于整数 12 和 18,它们的最大公约数是 6,因为 6 是 12 和 18 中能同时整除的最大整数。
最小公倍数(LCM): 最小公倍数是指两个或多个整数的公共倍数中最小的正整数。也就是说,如果 a 和 b 都是 c 的倍数,那么 c 就是 a 和 b 的最小公倍数。最小公倍数用 LCM(a, b) 表示。例如,对于整数 12 和 18,它们的最小公倍数是 36,因为 36 是 12 和 18 的公共倍数中最小的整数。
def GCD(a,b):
# 寻找小数作为除数
reduce = 0
if a < b:
reduce = a
elif a > b:
reduce = b
else:
return a
# 不断遍历求解
while reduce >= 1:
if a%reduce==0 and b%reduce==0:
return reduce
else:
reduce -= 1
def LCM(a,b):
# 寻找小数作为除数
factor = 0
if a < b:
factor = b
elif a > b:
factor = a
else:
return a
# 不断遍历求解
found = False
while not found:
if factor%a==0 and factor%b==0:
return factor
else:
factor += 1
LCM(18,12)
def gcd(a, b):
if b == 0:
return a
return gcd(b, a % b)
num1 = 48
num2 = 18
result = gcd(num1, num2)
print(f"The greatest common divisor of {num1} and {num2} is {result}")
def gcd(a, b):
if b == 0:
return a
return gcd(b, a % b)
def lcm(a, b):
return (a * b) // gcd(a, b)
num1 = 12
num2 = 18
result = lcm(num1, num2)
print(f"The least common multiple of {num1} and {num2} is {result}")