在Python中,检测/检查两个数字是否互质(互素)最高效的方法是什么(“pythonic”)。
目前我有这段代码:
def gcd(a, b):
while b != 0:
a, b = b, a % b
return a
def coprime(a, b):
return gcd(a, b) == 1
print(coprime(14,15)) #Should be true
print(coprime(14,28)) #Should be false
检查/测试两个数字是否互质的代码是否可以被认为是“Pythonic”,还是有更好的方法?
math.gcd
,它是一个内置的库,应该更加高效。 - Dimitris Fasarakis Hilliardmath.gcd
是 Python 3.5 中新增的函数,之前是fractions.gcd
。 - mkiever