我几乎已经解决了这个问题......这是项目Euler的4th problem,答案应该是906609,但我一直得到580085.我会感激任何帮助。
代码:
function largestPalin() {
var a, b, c;
for (a = 999; a > 100; a--) {
for (b = a; b > 100; b--) {
c = a * b;
if (palinCheck(c)) {
return c;
}
}
}
function palinCheck(c) {
return c == c.toString().split("").reverse().join("");
}
}
console.log(largestPalin());
答案 0 :(得分:3)
如果它比你找到的最后一个结果大,你应该保存它,而不是返回你找到的第一个结果,而不是在结尾处返回它。
var largestFound = 0;
for (a = 999; a > 100; a--) {
for (b = a; b > 100; b--) {
c = a * b;
if (palinCheck(c)) {
if (c > largestFound) {
largestFound = c;
}
}
}
}
return largestFound;