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]))