Adopted new convention from template
This commit is contained in:
parent
f0b531b7fc
commit
60fbe95ae2
@ -1,4 +1,4 @@
|
||||
#!/usr/bin/env python3
|
||||
#!/usr/bin/env python
|
||||
"""
|
||||
Created on 02 Oct 2021
|
||||
|
||||
@ -9,7 +9,7 @@ Solution for problem 55 of Project Euler
|
||||
https://projecteuler.net/problem=55
|
||||
"""
|
||||
|
||||
from utils import timeit, is_palindrome
|
||||
from utils import is_palindrome, timeit
|
||||
|
||||
|
||||
@timeit("Problem 55")
|
||||
@ -25,23 +25,24 @@ def compute():
|
||||
|
||||
That is, 349 took three iterations to arrive at a palindrome.
|
||||
|
||||
Although no one has proved it yet, it is thought that some numbers, like 196,
|
||||
never produce a palindrome. A number that never forms a palindrome through the
|
||||
reverse and add process is called a Lychrel number. Due to the theoretical nature
|
||||
of these numbers, and for the purpose of this problem, we shall assume that a
|
||||
number is Lychrel until proven otherwise. In addition you are given that for
|
||||
every number below ten-thousand, it will either:
|
||||
Although no one has proved it yet, it is thought that some numbers, like
|
||||
196, never produce a palindrome. A number that never forms a palindrome
|
||||
through the reverse and add process is called a Lychrel number. Due to the
|
||||
theoretical nature of these numbers, and for the purpose of this problem,
|
||||
we shall assume that a number is Lychrel until proven otherwise. In
|
||||
addition you are given that for every number below ten-thousand, it will
|
||||
either:
|
||||
(i) become a palindrome in less than fifty iterations, or,
|
||||
(ii) no one, with all the computing power that exists, has managed so far to map
|
||||
it to a palindrome.
|
||||
(ii) no one, with all the computing power that exists, has managed so far
|
||||
to map it to a palindrome.
|
||||
|
||||
In fact, 10677 is the first number to be shown to require over fifty iterations
|
||||
before producing a palindrome:
|
||||
In fact, 10677 is the first number to be shown to require over fifty
|
||||
iterations before producing a palindrome:
|
||||
|
||||
4668731596684224866951378664 (53 iterations, 28-digits).
|
||||
|
||||
Surprisingly, there are palindromic numbers that are themselves Lychrel numbers;
|
||||
the first example is 4994.
|
||||
Surprisingly, there are palindromic numbers that are themselves Lychrel
|
||||
numbers; the first example is 4994.
|
||||
|
||||
How many Lychrel numbers are there below ten-thousand?
|
||||
"""
|
||||
@ -50,7 +51,7 @@ def compute():
|
||||
for n in range(11, 10_000):
|
||||
num = n
|
||||
is_lychrel = True
|
||||
for it in range(50):
|
||||
for _ in range(50):
|
||||
num += int(str(num)[::-1])
|
||||
if is_palindrome(num):
|
||||
is_lychrel = False
|
||||
@ -62,5 +63,4 @@ def compute():
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
print(f"Result for Problem 55: {compute()}")
|
||||
print(f"Result for Problem 55 is {compute()}")
|
||||
|
Loading…
x
Reference in New Issue
Block a user