Python实现求任意两个正整数的最大公约数(四种方法)
# 辗转相除法
def fun1(n, m):
temp = n % m
while temp != 0:
n = m
m = temp
temp = n % m
return m
# 辗转相减法
def fun2(n, m):
while n != m:
if n > m:
n = n - m
else:
m = m - n
return n
# 枚举法
def fun3(n, m):
if n > m:
sma = m
else:
sma = n
for i in range(sma, 0, -1):
if n % i == 0 and m % i == 0:
return i
# 欧几里得算法
def fun4(n, m):
if m == 0:
return n
return fun4(m, n % m)
版权声明:本文为qq_43618698原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。