You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
749 B
31 lines
749 B
import saveto
|
|
from math import log
|
|
from math import factorial
|
|
primes = tuple(saveto.load('primes'))
|
|
print('Made tuple')
|
|
def factor(c):
|
|
output = {}
|
|
if c in primes:
|
|
output = {c:1}
|
|
else:
|
|
n = c
|
|
count_0 = 0
|
|
while n != 1:
|
|
while n%primes[count_0] != 0:
|
|
count_0 += 1
|
|
b = primes[count_0]
|
|
p = round(log(n,b))
|
|
while n%(b**p) != 0:
|
|
p -= 1
|
|
n /= b**p
|
|
count_0 += 1
|
|
if p > 0:
|
|
output[b] = int(p)
|
|
return output
|
|
##output = [{0:1},{1:1}]
|
|
##for i in range(2,30):
|
|
## output.append(factor(i))
|
|
## if i%1000 == 0:
|
|
## print(i)
|
|
##print(output)
|
|
##print('{:,}'.format(primes[-1]))
|