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. 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.

Solution Stats

Last 200 Solutions

Problem Comments

I think this assertion part is obsolete, in the form of "assert(islychrel(n))" or "assert(~islychrel(n))" now will fail directly on the new cody system. my code run at my computer seems fine by the way.

It looks like there is an error in the test suite, because 3664 becomes 475574 after 5 iterations, although the test suite says that it's not a Lychrel number. (In addition, OEIS A023108, which lists all non-Lychrel numbers up to 3675, excludes 3664).