由于发现了this有趣的问题,我决定在JavaScript中编写一个实现逻辑并将其回馈给问题的示例。问题是我在实现逻辑时遇到了一些问题。我可以说Ruby,这是我基于我的实现,但我遇到了一个无休止的循环问题,我无法整理出来。
我在js.do.it上完成了整个实现:http://jsdo.it/rfkrocktk/k9Jq
function encode(i) {
if (i == 0) return DICTIONARY[0];
var result = '';
var base = DICTIONARY.length;
while (i > 0) {
result += DICTIONARY[i % base];
i = i / base;
}
result = result.reverse();
return result;
}
我在这里做错了什么?
答案 0 :(得分:1)
Javascript默认使用浮点数学。使用i = Math.floor(i / base);