我工作的項目歐拉問題5和現在用的是以下幾點:合併兩個列表中獨特的方式在Python
def findLCM(k):
start=time.time()
primes=[2,3,5,7,11,13,17,19,23]
factors=[]
for factor in range(2,k):
if factor in primes:
factors.append(factor)
else:
factorization=[]
while factor!=1:
for prime in primes:
lastFactor=prime
if factor%prime==0:
factor/=prime
factorization.append(lastFactor)
break
tmpFactors=[]
for tmpFactor in factorization:
if tmpFactor not in factors:
factors.append(tmpFactor)
else:
tmpFactors.append(tmpFactor)
factors.remove(tmpFactor)
for tmpFactor in tmpFactors:
factors.append(tmpFactor)
print factors
product=1
for factor in factors:
product*=factor
factors.sort()
end=time.time()
fnTime=end-start
return product, fnTime, factors
有沒有用,我可以組合分解和因素,這樣的功能做了Python的功能?例如,如果factors=[2, 3, 5]
和factorization=[2, 2, 3]
,組合列表應該是[2, 2, 3, 5]
。
項目歐拉問題5: 2520是能夠由每個號碼而沒有任何剩餘被劃分爲1〜10的最小數目。什麼是可以被1到20的所有數字整除的最小正數? – krushers 2012-08-08 23:24:50
另外,如果你知道這兩個數字集合的數學術語是什麼,請讓我知道。 – krushers 2012-08-08 23:26:38