"""
最大公约数,某数的因子[1,n),如6的因子为:1,2,3
54,24的最大公约数为:6
实现步骤:
1.键盘接收2个数
2.分别算出其因子列表
3.求2列表共有部分的最大值并返回
"""
def get_divisors(number):
"""
传入一个整数,返回其所有因子(列表)
:param number: 整数
:return: 该整数所有因子(列表)
"""
list1 = []
for i in range(1, number):
if number % i == 0:
list1.append(i)
return list1
def get_max_common_divisor(a, b):
"""
返回a,b的最大公约数
:param a:整数a
:param b:整数b
:return:a,b的最大公约数
"""
list1 = get_divisors(a)
list2 = get_divisors(b)
return max(set(list1) & set(list2))
if __name__ == '__main__':
a = int(input('please input a:'))
b = int(input('please input b:'))
max_common_divisor = get_max_common_divisor(a, b)
print(max_common_divisor)