#include <iostream>
using namespace std;
int main()
{
int greatest = 0;
for(int i = 999;i>=100; --i)
{
for (int j =990, product; j>=100 && ((product = i*j) > greatest); j-=11)
{
int n = product;
int rev = 0;
do
{
rev = (rev * 10) + (product % 10);
product /= 10;
} while(product != 0);
if (n == rev)
{
cout << "Palindrome : " << i << " * " << j << " = " << n << endl;
greatest = n;
}
}
}
cout << "The Greatest Palindrome Number Is : " << greatest << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKQp7CiAgICBpbnQgIGdyZWF0ZXN0ID0gMDsKICAgIAogICAgZm9yKGludCBpID0gOTk5O2k+PTEwMDsgLS1pKQogICAgewogICAgICAgIGZvciAoaW50IGogPTk5MCwgcHJvZHVjdDsgaj49MTAwICYmICgocHJvZHVjdCA9IGkqaikgPiBncmVhdGVzdCk7IGotPTExKQogICAgICAgIHsKICAgICAgICAgICAgaW50IG4gPSBwcm9kdWN0OwogICAgICAgICAgICBpbnQgcmV2ID0gMDsKICAgICAgICAgICAgZG8KICAgICAgICAgICAgewogICAgICAgICAgICAgICAgcmV2ID0gKHJldiAqIDEwKSArIChwcm9kdWN0ICUgMTApOwogICAgICAgICAgICAgICAgcHJvZHVjdCAvPSAxMDsKICAgICAgICAgICAgfSB3aGlsZShwcm9kdWN0ICE9IDApOwogICAgICAgICAgICAKICAgICAgICAgICAgaWYgKG4gPT0gcmV2KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBjb3V0IDw8ICJQYWxpbmRyb21lIDogIiA8PCBpIDw8ICIgKiAiIDw8IGogPDwgIiA9ICIgPDwgbiA8PCBlbmRsOwogICAgICAgICAgICAgICAgZ3JlYXRlc3QgPSBuOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgY291dCA8PCAiVGhlIEdyZWF0ZXN0IFBhbGluZHJvbWUgTnVtYmVyIElzIDogIiA8PCBncmVhdGVzdCA8PCBlbmRsOwogICAgcmV0dXJuIDA7Cn0K