http://www.geeksforgeeks.org/largest-palindrome-product-two-n-digit-numbers/
 
 
 
 
 
http://www.geeksforgeeks.org/largest-palindrome-product-two-n-digit-numbers/
Given a value n, find out the largest palindrome number which is product of two n digit numbers.
Below are steps to find the required number.
1) Find a lower limit on n digit numbers. For example, for n = 2, lower_limit is 10.
2) Find an upper limit on n digit numbers. For example, for n = 2, upper_limit is 99.
3) Consider all pairs of numbers where ever number lies in range [lower_limit, upper_limit]
1) Find a lower limit on n digit numbers. For example, for n = 2, lower_limit is 10.
2) Find an upper limit on n digit numbers. For example, for n = 2, upper_limit is 99.
3) Consider all pairs of numbers where ever number lies in range [lower_limit, upper_limit]
int larrgestPalindrome(int n){    int upper_limit = 0;    /* Loop to calculate upper bound(largest number       of n-digit)*/    for (int i=1; i<=n; i++)    {        upper_limit *= 10;        upper_limit += 9;    }    // largest number of n-1 digit. One plus this number     // is lower limit which is product of two numbers.    int lower_limit = 1 + upper_limit/10;    int max_product = 0; // Initialize result    for (int i=upper_limit; i>=lower_limit; i--)    {        for (int j=i; j>=lower_limit; j--)        {            // calculating product of two n-digit numbers            int product = i * j;            if (product < max_product)                break;            int number = product;            int reverse = 0;            /* calculating reverse of product to check               whether it is palindrome or not*/            while (number != 0)            {                reverse = reverse * 10 + number % 10;                number /= 10;            }            /* update new product if exist and if               greater than previous one*/            if (product == reverse && product > max_product)                max_product = product;        }    }    return max_product;}
