所以我写了一些代码来解决欧拉计划有关回文的一个问题:
var isPalindrome = function(num){
var tempString = "";
for(i = String(num).length - 1; i >= 0; i--){
tempString += String(num)[i];
}
if(tempString === String(num)){
return true;
}
else{
return false;
}
};
var palindromes = [];
var inCount = 0;
var count = 0;
for(var i = 999; i > 99; i--){
inCount++;
for(var j = i; j > 99; j--){
count++;
if(isPalindrome(i*j)){
palindromes.push(i*j);
}
}
}
console.log(inCount);
console.log(count);
console.log(Math.max(palindromes));
经过一些测试,我发现该代码仅一次运行外部for循环。这似乎是因为我在嵌套循环中调用了isPalindrome函数。当我删除if(isPalindrome())行时,嵌套的for循环将按原样执行。我是Java的新手,因此不胜感激。
因为您从没有i
在中声明isPalindrome
,所以它使用的i
是更高版本代码声明的全局变量(可能看起来有些奇怪)。确保在函数中声明变量。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句