A man, a plan, a canal, Panama.
Bombard a drab mob.
Drab as a fool, aloof as a bard.
Palindromes are strings that can be read the same backwards as forwards. The most common palindromes are words or sentences, but palindromes can be made from any set of characters. Lately I've been interested in palindromic numbers, which are numbers (like 1221 and 5567655) where the the nth digit from the beginning is the same as the nth digit from the end.
Palindromic numbers are pretty easy to generate. Just choose a length for the number, then choose some digits for the first half of the number. Mirror those, and you've got a number. They're easier to make than palindromic sentences, because numbers don't have to make any kind of logical sense. They're kind of like my symmetric egg basket problem, where choosing one half of a solution defines the other half.
In text, palindromes are kind of rare. Palindromes that actually make sense are rarer still. I wanted to see how rare palindromes are in the natural numbers. It turns out that the density of palindromic numbers decreases exponentially as the magnitude of the number increases.
Every single one digit number is a palindrome. There are nine two digit palindromes (the multiples of 11). Three digit palindromes start to get a little more interesting. Any combination of two digits leads to a palindrome of three digits by copying the first digit as the third. This puts the number of three digit palindromes at 9*10 = 90. There are nine choices for the first digit (we exclude zero) and ten choices for the second digit. Four digit palindromes can be counted in the same way, since instead of copying the first digit you copy both first two.
Continuing on in this way, we can find the percentage of numbers of each order of magnitude that are palindromes:
1 digit: 100%
2 digits: 10% (9 palindromes in 90 numbers)
3 digits: 10% (90 palindromes in 900 numbers)
4 digits: 1% (90 palindromes in 9000 numbers)
5 digits: 1% (9*10*10=900 palindromes in 90000 numbers)
6 digits: .1% (900 palindromes in 900000 numbers)
7 digits: .1% (9*10*10*10=9000 palindromes in 9 million numbers)
Every two orders of magnitude that we go up decreases the percentage of palindromes by an order of magnitude. The number of palindromes only increases with two jumps in the size of the number, but the total number of numbers increases with each jump in the size of the number. This is why the percentage of palindromes will slowly decrease.
Just for fun, I also decided to compare palindromes in one base to palindromes in another. I wrote a python script that would compare decimal palindromes to their hex equivalent and report any hex values it found that were also palindromes.
#check decimal palindromes for hex palindromes def convHex(decimal_string): hex_string = str(hex(int(decimal_string)))[2:] is_palindrome = True for i in range(len(hex_string)): if hex_string[i] != hex_string[-(1+i)]: is_palindrome = False #end if #end for if is_palindrome: return [int(decimal_string)] else: return  #end if #end def convHex(decimal_string) double_palindromes =  for i in range(1,10000): #even number of digits palindrome = str(i) + str(i)[::-1] double_palindromes.extend(convHex(palindrome)) #odd number of digits palindrome = str(i) + str(i)[-2::-1] double_palindromes.extend(convHex(palindrome)) #end for double_palindromes.sort() for i in double_palindromes: print i, hex(i)
Again, all one digit numbers are palindromes for every base. Since hex has all the single digits that decimal does, all single digit decimal palindromes are palindromes in hex as well. After that, the numbers that are palindromes in both bases get far rarer.
Here's the list of all numbers up under 9 digits long that are palindromes in both decimal and hex bases:
Wikipedia has a lot more information on palindromic numbers. Apparently they're pretty common in mathematical riddles and puzzle challenges.