【发布时间】:2014-04-20 04:46:09
【问题描述】:
我在hacker.org 上做一个挑战,这就是它所说的“我有一段特殊的文本代表一个特定的值。这是我计算它的方法: 从左到右开始阅读, 如果一个字符是一个数字,我把它加到我的总和中, 如果是“x”,我将其删除并左移两个位置, 继续,直到我击中字符串的末尾。 例如,字符串 '123x456' 的值为 26。
什么是 '93752xxx746x27x1754xx90x93xxxxx238x44x75xx08750912738x8461x8759383xx328x4x4935903x6x5550360535004x0xx945958961296x267x8842xxx5x6xx61x4x48482x80xxx83316843x7x4x83x9521731xxx25x51xx457x6x5x9698222x771237745034x5133592x27xx8x87xx35221x36x0x50x23x7x63x998418xx' 的值?“ P>
这是我为解决此任务而编写的代码
function decrypt(text){
var sum = 0;
for(var i = 0; i < text.length ; i++){
if(isNaN(parseInt(text[i])) == false){
sum += parseInt(text[i]);
}
else if(text[i] == "x" || "X"){
text.replace(text[i],0);
i = i - 2;
}
}
return sum;
}
document.write(decrypt('93752xxx746x27x1754xx90x93xxxxx238x44x75xx08750912738x8461x8759383xx328x4x4935903x6x5550360535004x0xx945958961296x267x8842xxx5x6xx61x4x48482x80xxx83316843x7x4x83x9521731xxx25x51xx457x6x5x9698222x771237745034x5133592x27xx8x87xx35221x36x0x50x23x7x63x998418xx'));
当我运行这段代码时,它似乎在运行一个无限循环,这是为什么呢?
【问题讨论】:
标签: javascript encryption decode encode