在 JavaScript 中找到由两个 n 位数字的乘积构成的最大回文数
让我们考虑数字9009。这是一个特殊的数字,因为这是两个2位数字(91和99)相乘可以形成的最大回文数。
我们需要编写一个JavaScript函数,它接受一个数字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
热门推荐
10 男孩上学祝福语简短英语
11 乔迁仪式文案祝福语简短
12 上班收到花束祝福语简短
13 分别祝福语简短情侣短句
14 春天变冷祝福语简短
15 2026年春节祝福语简短
16 城堡文案简短婚礼祝福语
17 近代生日祝福语简短精辟
18 男士送花祝福语大全简短