mirror of
https://github.com/TheAlgorithms/JavaScript.git
synced 2025-07-06 17:50:39 +08:00
Fixed Indendation Issues
This commit is contained in:
@ -3,36 +3,44 @@
|
|||||||
Find the largest palindrome made from the product of two 3-digit numbers.
|
Find the largest palindrome made from the product of two 3-digit numbers.
|
||||||
*/
|
*/
|
||||||
const largestPalindromic = (digits) => {
|
const largestPalindromic = (digits) => {
|
||||||
let i, n, m, d, inf, sup, limit, number = 0;
|
let i
|
||||||
for (i = 1; i < digits; i++) {
|
let n
|
||||||
number = 10 * number + 9; //
|
let m
|
||||||
}
|
let d
|
||||||
inf = number; // highest (digits - 1) number, in this example highest 2 digit number
|
let limit
|
||||||
sup = 10 * number + 9; // highest (digits) number, in this example highest 3 digit number
|
let number = 0
|
||||||
|
|
||||||
function isPalindromic(n) {
|
for (i = 1; i < digits; i++) {
|
||||||
let p = 0, q = n, r;
|
number = 10 * number + 9
|
||||||
while (n > 0) {
|
|
||||||
r = n % 10;
|
|
||||||
p = 10 * p + r;
|
|
||||||
n = Math.floor(n / 10);
|
|
||||||
}
|
}
|
||||||
return p === q; // returning whether the number is palindromic or not
|
const inf = number // highest (digits - 1) number, in this example highest 2 digit number
|
||||||
|
const sup = 10 * number + 9 // highest (digits) number, in this example highest 3 digit number
|
||||||
|
|
||||||
|
const isPalindromic = (n) => {
|
||||||
|
let p = 0
|
||||||
|
const q = n
|
||||||
|
let r
|
||||||
|
while (n > 0) {
|
||||||
|
r = n % 10
|
||||||
|
p = 10 * p + r
|
||||||
|
n = Math.floor(n / 10)
|
||||||
|
}
|
||||||
|
return p === q // returning whether the number is palindromic or not
|
||||||
}
|
}
|
||||||
|
|
||||||
for (n = sup * sup, m = inf * inf; n > m; n--) {
|
for (n = sup * sup, m = inf * inf; n > m; n--) {
|
||||||
if (isPalindromic(n)) {
|
if (isPalindromic(n)) {
|
||||||
limit = Math.ceil(Math.sqrt(n));
|
limit = Math.ceil(Math.sqrt(n))
|
||||||
d = sup;
|
d = sup
|
||||||
while (d >= limit) {
|
while (d >= limit) {
|
||||||
if (n % d === 0 && n / d > inf) {
|
if (n % d === 0 && n / d > inf) {
|
||||||
return n;
|
return n
|
||||||
}
|
}
|
||||||
d -= 1;
|
d -= 1
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return NaN; // returning not a number, if any such case arise
|
return NaN // returning not a number, if any such case arise
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log(largestPalindromic(3));
|
console.log(largestPalindromic(3))
|
||||||
|
Reference in New Issue
Block a user