Palindrome

Source - https://www.geeksforgeeks.org/largest-palindrome-product-two-n-digit-numbers/

by dustinkerstein

JavaScript

// Javascript problem to find out the
// largest palindrome number
// which is product of two
// n digit numbers.

// Function to calculate largest
// palindrome which isproduct of
// three n-digits numbers
function larrgestPalindrome(n)
{
  let upper_limit = Math.pow(10, n) - 1;
  console.log("upper_limit: " + upper_limit)


  // largest number of n-1 digit.
  // One plus this number
  // is lower limit which is
  // product of two numbers.
  let lower_limit = 1 + 
      parseInt(upper_limit / 10, 10);
      
  console.log("lower_limit: " + lower_limit);
  
  let digit1 = 0;
  let digit2 = 0;

  // Initialize result
  let max_product = 0;

  for (let i = upper_limit; i >= lower_limit; i--)
  {
    for (let j = i; j >= lower_limit; j--)
    {
      // calculating product of two
      // n-digit numbers
      let product = 999 * i * j;
      if (product < max_product)
        break;
      let number = product;
      let reverse = 0;

      // calculating reverse of product
      // to check whether it is
      // palindrome or not
      while (number != 0)
      {
        reverse = reverse * 10 + number % 10;
        number = parseInt(number / 10, 10);
      }

      // update new product if exist and if
      // greater than previous one
      if (product == reverse && product > max_product) {
        	digit1 = i;
          digit2 = j;
        	max_product = product;
        }
    }
  }
  console.log("digit1: " + digit1 + " digit2: " + digit2);
  return max_product;
}

let n = 3;
document.write(larrgestPalindrome(n));