一.求最大公约数
利用自带库函数求解
from math import gcd
a,b=map(int,input().split())
print(gcd(a,b))
16 24
8
二.求最小公倍数
两个数的乘积除以最大公约数即可
from math import gcd
a,b=map(int,input().split())
print((a*b)//gcd(a,b))
16 24
48
三.求因数
a=int(input())
b=[]
for i in range(1,int(a**0.5)+1):
if a&i==0:
b.append(i)
b.append(a//i)
b=set(b)
print(*b)
24
1 2 3 4 6 8 12 24