Pracuję nad projektem Euler Problem 5 i używam następujący:Połączyć dwie listy w wyjątkowy sposób w Pythonie
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
Czy istnieje funkcja Python, z którym można połączyć na czynniki i czynniki jak ta funkcja działa? Na przykład, jeśli factors=[2, 3, 5]
i factorization=[2, 2, 3]
, połączona lista powinna być [2, 2, 3, 5]
.
projektu problemu Eulera 5: 2520 najmniejszą liczbę, która może być podzielona przez każdą z liczb od 1 do 10, bez pozostałej części. Jaka jest najmniejsza liczba dodatnia, która jest równomiernie podzielna przez wszystkie liczby od 1 do 20? – krushers
Ponadto, jeśli wiesz, jakie jest matematyczne żargonowanie takiego związku dwóch zestawów liczb, proszę daj mi znać. – krushers