Compare commits

...

2 Commits

2 changed files with 47 additions and 0 deletions

24
python/e124.py Normal file
View File

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

23
python/e125.py Normal file
View File

@@ -0,0 +1,23 @@
from lib_misc import is_palindrome
def euler_125():
upper = 10**8
ns = set()
for i in range(1, upper):
i2 = i * i
if i2 >= upper:
break
for j in range(i + 1, upper):
i2 += (j * j)
if i2 >= upper:
break
if is_palindrome(i2):
ns.add(i2)
return sum(ns)
if __name__ == "__main__":
solution = euler_125()
print("e125.py: " + str(solution))
assert(solution == 2906969179)