Solve easy problem 808 to be back in the game

main
felixm 2023-08-25 18:32:57 -04:00
parent 729bfc7eb2
commit 880385a451
1 changed files with 25 additions and 0 deletions

25
python/e808.py Normal file
View File

@ -0,0 +1,25 @@
from lib_prime import primes
from lib_misc import is_palindrome_string
def euler_808():
r = []
squared_primes = set()
ps = primes(100000000)
for p in ps:
p_squared = p * p
p_squared_str = str(p_squared)
if not is_palindrome_string(p_squared_str):
squared_primes.add(p_squared)
p_squared_reverse = int(p_squared_str[::-1])
if p_squared_reverse in squared_primes:
r += [p_squared, p_squared_reverse]
if len(r) == 50:
break
return sum(r)
if __name__ == "__main__":
solution = euler_808()
print("e808.py: " + str(solution))
assert(solution == 3807504276997394)