自己结合所学知识写出来的,不是最优解
比较复杂,除了求出两个数的最大公约数外,也可求出两个数共有的公约数~~(貌似没有实用性)~~
```python
import math
def factor(num):
factors=[]
for_times=int(math.sqrt(num))#任何数的公约数都是从1开始
for i in range(for_times+1)[1:]:
if num%i==0:
factors.append(i)#整除说明i就是最大公约数
t=int(num/i)
if not t==i:#如36/6 如果商和除数不相等就添加进列表中
factors.append(t)
return factors
# 求36和28的最大公约数
print(factor(36))
print(factor(28))
# 转换成集合求交集
print("-"*60)
a=set