1.求一个数的所有约数
def getNum(num): dict={} #因子数都是以sqrt(num)为界对称的,找出<=sqrt(num)这边的,用num/i就同时获得了另一半的因子数,从1开始遍历即可。 for i in range(1,int(num**0.5)+1): if num%i==0: dict[i]=1 dict[num//i]=1 print(dict.keys())
2.求两个数的最大公约数
def getMaxCommonDivisor(a,b):
if a%b==0:
return b
while a%b!=0:
a,b=b,a%b
return b
3.最小公倍数
记住这个公式: x*y=最小公倍数*最大公约数