Files
aocpy/2015/d20.py
2024-10-20 15:19:25 -04:00

31 lines
553 B
Python

from itertools import combinations
import lib
data = int(open(0).read().strip())
part_1 = False
def calc(n):
fs = lib.prime_factors(n)
vs = set([1, n])
for i in range(1, len(fs) + 1):
for c in combinations(fs, i):
p = 1
for e in c:
p *= e
vs.add(p)
r = 0
for e in vs:
if part_1:
r += e * 10
elif n <= e * 50:
r += e * 11
return r
for i in range(3, 10000000):
c = calc(i)
if c >= data:
print(i)
break