Shane - 1 year ago 124
Javascript Question

# Find the largest palindrome made from the product of two 3-digit numbers - Javascript

Can anyone tell me what's wrong with the code. Find the largest

`palindrome`
made from the product of two 3-digit numbers.

``````function largestPalindrome(){

for(var i =999; i>100; i--){
for(var j = 999; j>100; j--){
var mul = j*i;
if(isPalin(mul)){
return i * j;
}
}
}
}

function isPalin(i){
return i.toString() == i.toString().split("").reverse().join("");
}

console.log(largestPalindrome());
``````

This answer was close to my question
but still i feel the way i am doing the loop it should return me the largest product.

Yours doesn't work properly since it checks `999*999`, then `999*998`, then `999*997` until it reaches about `999*583`. While it doesn't check `997*995` or something closer to the top which generates a larger number

``````function largestPalindrome(){

var arr = [];
for(var i =999; i>100; i--){
for(var j = 999; j>100; j--){
var mul = j*i;
if(isPalin(mul)){
arr.push(j * i);
}
}
}

return Math.max.apply(Math, arr);
}

function isPalin(i){
return i.toString() == i.toString().split("").reverse().join("");
}

console.log(largestPalindrome());
``````

Here is another approach, store all `palindrome` generated by 3 numbers in an array, then use `Math.max on the array` to get the largest `palindrome`

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download