Python分解質量因数,最大公約数,最小公倍数
4430 ワード
以上の3つの問題を解決するために、振り回され、様々な解法を経て、最後に最適化されたアルゴリズムを得た.
# author:Linger
'''
, ,
: 1 , 1 , .
, ( ) ,
( ) . :
,1 -1 . 1.
'''
def getdiv(n = 36):
'''
:param n:
:return:
'''
i = 2
_div = []
while i <= n:
while n % i == 0:
_div.append(i)
n = n/i
i = i+1
return _div
def getLCM(a=5, b=3):
'''
:param a:
:param b:
:return:
'''
return a*b//getHCF(a, b)
def getHCF(m=319, n=377):
'''
#
:param m:
:param n:
:return:
'''
while m % n > 0:
p = m % n
m = n
n = p
return n
print(getLCM(13, 39))
print(getdiv())
print(getHCF(58, 377))