Solve easy problem 808 to be back in the game
parent
729bfc7eb2
commit
880385a451
|
@ -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)
|
Loading…
Reference in New Issue