这是实验课的一个问题,但我毫无思路,课上讲的云里雾里,希望有人能答疑解惑
def foo(a, b):
m = a if a>b else b
n = a if a<b else b
while True:
r = m%n
if r == 0:
print(n)
break
else:
m, n = n, r
foo(8,12)
以下这个算法比较容易:
def func(m,n):
for i in range(min(m,n),0,-1):
if m%i==0 and n%i==0:
return i