diff --git a/python/e124.py b/python/e124.py new file mode 100644 index 0000000..177f781 --- /dev/null +++ b/python/e124.py @@ -0,0 +1,24 @@ +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)