在實際項目中,Python的gcd函數(最大公約數)可以在多個場景下使用,以下是一些常見的應用案例:
from math import gcd
def add_fractions(a, b, c, d):
g = gcd(b, d)
denominator = b * d // g
numerator = a * (d // g) + c * (b // g)
g2 = gcd(abs(numerator), abs(denominator))
return numerator // g2, denominator // g2
result = add_fractions(1, 2, 3, 4)
print(result) # 輸出:(5, 4)
from math import gcd
def mod_inverse(a, m):
def extended_gcd(a, b):
if a == 0:
return b, 0, 1
else:
g, y, x = extended_gcd(b % a, a)
return g, x - (b // a) * y, y
g, x, _ = extended_gcd(a, m)
if g != 1:
raise ValueError("Modular inverse does not exist.")
else:
return x % m
result = mod_inverse(7, 26)
print(result) # 輸出:15
from math import gcd
def are_coprime(a, b):
return gcd(a, b) == 1
def lcm(a, b):
return a * b // gcd(a, b)
result1 = are_coprime(12, 15)
print(result1) # 輸出:True
result2 = lcm(12, 15)
print(result2) # 輸出:60
這些只是gcd函數在實際項目中的一些應用案例,實際上,gcd函數可以在更多的場景下發揮作用。