A palindromic number reads the same both ways. The largest palindrome made from the product of two 2-digit numbers is 9009 = 91 × 99.
Find the largest palindrome made from the product of two 3-digit numbers.
The answer is 906609, as surmised from the following program.
#include <iostream>
int main(void)
{
int numBuff;
int reverseBuff;
int reversedNum;
int largest = 0;
for(int i = 100; i < 999; i++) // Start at first 3 digit number
{
for(int j = 100; j < 999; j++) {
// Multiply the two digits to get a number to test
numBuff = (i * j);
// Reset
reversedNum = 0;
// Set the product to a buffer variable for reversing
reverseBuff = numBuff;
// While reverseBuff is non zero
while(reverseBuff) {
// Move to the left one position, use modulus 10 to get first digit and push it to back
reversedNum = (reversedNum*10) + (reverseBuff%10); reverseBuff /= 10;
}
// If they are the same after reversing, palindrome
if(reversedNum == numBuff && reversedNum > largest)
{
largest = reversedNum;
}
}
}
std::cout << largest;
}