2011-09-25 12 views
2

흥미로운 질문이있는 this을 찾은 결과, JavaScript로 로직을 구현하고 다시 질문에 기여하는 예제를 작성하기로 결정했습니다. 문제는 논리를 구현하는 데 문제가 있다는 것입니다. 내 구현을 기반으로하는 Ruby를 말할 수는 있지만, 문제가 발생하는 끝없는 while 루프에 문제가 있습니다. http://jsdo.it/rfkrocktk/k9JqJavaScript로 URL 단축 알고리즘 구현

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

내가 잘못 여기서 뭐하는 거지 :

는 여기 js.do.it에 전체 구현을 가지고?

+0

'/'아마도 당신이 기대하는대로하지 않을 것입니다. '1/2 => 0.5' – numbers1311407

답변

1

자바 스크립트는 기본적으로 부동 소수점 연산을 사용합니다. i = Math.floor(i/base);

+0

그건 확실히 문제 중 하나였습니다. –