आइए हम संख्या 9009 पर विचार करें। यह इस अर्थ में एक विशेष संख्या है कि यह सबसे बड़ी पैलिंड्रोम संख्या है जिसे दो 2-अंकीय संख्याओं (91 और 99) को गुणा करके बनाया जा सकता है।
हमें एक जावास्क्रिप्ट फ़ंक्शन लिखना है जो एक संख्या n लेता है (जो अंकों की संख्या निर्दिष्ट करता है)। फ़ंक्शन को बस सबसे बड़ी पैलिंड्रोम संख्या ढूंढनी चाहिए और वापस करनी चाहिए जो कि दो n अंकों की संख्याओं के गुणन द्वारा बनाई जा सकती है।
उदाहरण
निम्नलिखित कोड है -
const largestPalindromic = num => {
let i, n, m, d, max, sup, limit, number = 0;
for (i = 1; i < num; i += 1) {
number = 10 * number + 9;
};
max = number;
sup = 10 * number + 9;
const isPalindromic = n => {
let p = 0, q = n, r;
while (n > 0) {
r = n % 10;
p = 10 * p + r;
n = Math.floor(n / 10);
};
return p === q;
};
for (n = sup * sup, m = max * max; n > m; n -= 1) {
if (isPalindromic(n)) {
limit = Math.ceil(Math.sqrt(n));
d = sup;
while (d >= limit) {
if (n % d === 0 && n / d > max) {
return n;
}
d -= 1;
}
}
};
}
console.log(largestPalindromic(3)); आउटपुट
कंसोल पर आउटपुट निम्न है -
906609