【发布时间】:2013-09-17 06:38:24
【问题描述】:
回文数的两种读法相同。由两个 2 位数字的乘积构成的最大回文数是 9009 = 91 × 99。
找出由两个 3 位数字相乘的最大回文数。
我编写了这段代码来找到解决方案,但 Project Euler 网站上的答案仍然不正确:
function Palindromic(x) {
var pal = parseInt(x.toString().split('').reverse().join(''));
if (pal === x)
return true;
else
return false;
}
var x = 100,
y = 100,
product = x * y;
for (x; x <= 999; x++) {
for (y = x; y <= 999; y++) {
product = x * y;
if (Palindromic(product)) {
console.log(x + '*' + y + '=' + product);
}
}
}
我的代码有问题吗?! 无论如何,我得到的答案是 888888 from 924*962
【问题讨论】:
-
如果我们知道正确答案应该是什么会有所帮助。
-
如果您正在寻找最大回文数,为什么不反向循环?
标签: javascript math for-loop