* fix(guide) add stubs and correct file path misspellings and pr… (#36528) * fix: corrected file path to match curriculum * fix: renamed to newer challenge name * fix: added solutions to articles from challenge files * fix: added missing .english to file name * fix: added missing title to guide article * fix: correct solution for guide article * fix: replaced stub with hint * fix: added space in Hint headers * fix: added solution to guide article * fix: added solution to guide article * test: replaced stub with hint and solution * fix: add Problem number: to title * fix: changed generatorexponential to correct name * fix: renamed knight's tour to knights-tour * fix: updated guide article
1.4 KiB
1.4 KiB
title
title |
---|
Problem 4: Largest palindrome product |
Problem 4: Largest palindrome product
Problem Explanation
- A palindromic number is the one that when reversed reads the same.
- The largest number obtained from product of two 3 digit number is
999 * 999
, so we can make a loop that starts by producting the largest number and check if that number is palindromic or not.
Solutions
Solution 1 (Click to Show/Hide)
function largestPalindromeProduct(n) {
//To get the maximum n digit number, + operator type castes String to Number type
let max = +[...Array(n)].reduce((a, c) => (a += 9), "");
//Next we get minimum n digit number from the max
let min = (max + 1) / 10;
//To store the result
let res = [];
//Starting the loop from max to min
for (let i = max; i >= min; i--) {
//Another loop
for (let j = max; j >= min; j--) {
//Getting the product
let num = i * j;
//Reversing the number
let numReverse = [...String(num)].reverse().join("");
//Checking for palindromic number
if (num == numReverse) {
//Pushing the number into array and breaking the loop for efficiency
res.push(num);
break;
}
}
}
// Returning the maximum of the result array
return Math.max(...res);
}