euler/python/e124.py

25 lines
452 B
Python

from lib_prime import prime_factors
def radical(n: int) -> int:
fs = prime_factors(n)
r = 1
for f in set(fs):
r *= f
return r
def euler_124():
assert radical(504) == 42
xs = []
for n in range(1, 100001):
xs.append((radical(n), n))
xs = sorted(xs)
return xs[10000 - 1][1]
if __name__ == "__main__":
solution = euler_124()
print("e124.py: " + str(solution))
assert(solution == 21417)