Python求最大公约数,最小公倍数,因数

一.求最大公约数

利用自带库函数求解

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

你可能感兴趣的:(python)