Finding palindromic numbers
A palindromic number reads the same both ways. The largest palindrome made from the product of two 2-digit numbers is 9009 = 91 x 99
. Let's try to find the largest palindrome made from the product of two 3-digit numbers.
How to do it...
We will create an array to hold 3-digit numbers from 100 to 999 using our favorite NumPy function arange
.
Create a 3-digit numbers array.
Check the first and last element of the array with the
assert_equal
function from thenumpy.testing
package:a = numpy.arange(100, 1000) numpy.testing.assert_equal(100, a[0]) numpy.testing.assert_equal(999, a[-1])
Create the products array
Now, we will create an array to hold all the possible products of the elements of the 3-digits array with itself. We can accomplish this with the
outer
function. The resulting array needs to be flattened withravel
, to be able to easily iterate over it. Call thesort
method on the array to make sure the array is properly sorted. After that, we can do some sanity checks...