方法一:
"""
_author:taozi
_date:20190521
_describe:求最大公约数
1-同时提取共有质因数
2-公有质因数连乘就是最大公约数
"""
def max_com_num(n, m):
flag = True
num = 1
while flag:
for x in range(2, int(n + 1)):
if n / x == 1: # 表示n不能继续分解了
flag = False
elif n % x == 0 and m % x == 0: # 提取共有质因数
n = int(n / x)
m = int(m / x)
num *= x
break
return num
max_common_num = max_com_num(66, 88)
print("最大公约数是:", max_common_num)
```python
> 方法二:
```python
"""
_describe:求最大公约数
1- 能同时被整除的数都是约数,for循环得到最大值
"""
def hcf(x, y):
"""该函数返回两个数的最大公约数"""
# 获取最小值
if x > y:
smaller = y
else:
smaller = x
for i in range(1, smaller + 1):
if ((x % i == 0) and (y % i == 0)):
hcf = i
return hcf
# 用户输入两个数字
num1 = int(input("输入第一个数字: "))
num2 = int(input("输入第二个数字: "))
print(num1, "和", num2, "的最大公约数为", hcf(num1, num2))