#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 求出a、b的最大公约数。
# @param a int整型
# @param b int整型
# @return int整型
#
class Solution:
def gcd(self , a: int, b: int) -> int:
# write code here
# 解法一:有性能问题
"""
if a<b:
if b%a==0:
return a
else:
sum=[]
for i in range(1,a):
if b%i==0 and a%i==0:
sum.append(i)
return max(sum)
elif a>b:
if a%b==0:
return b
else:
sum=[]
for i in range(1,b):
if a%i==0 and b%i==0:
sum.append(i)
return max(sum)
else:
return a or b
"""
# 解法二
if a<b:
a,b=b,a
# 余数就是最大公约数
while a%b!=0:
temp=a%b
a=b
b=temp
return b