2

由于发现了这个有趣的问题,我决定用 JavaScript 编写一个示例来实现逻辑并将其回馈给问题。问题是我在实现逻辑时遇到了一些问题。我会说 Ruby,这是我实现的基础,但是我遇到了一个无休止的 while 循环问题,我无法解决这个问题。

我在 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;
}

我在这里做错了什么?

4

1 回答 1

1

Javascript 默认使用浮点数学。采用i = Math.floor(i / base);

于 2011-09-25T21:51:22.857 回答