【发布时间】:2017-02-02 09:20:26
【问题描述】:
在 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,这是一个包含在内的电池,应该更高效。 -
注意:
math.gcd是 Python3.5 中的新内容,之前是fractions.gcd。 -
如果这是您认为可以改进的工作代码,请参阅Code Review。
标签: python python-3.x algorithm primes