Zapętlanie numerów

To jest pytanie, które zostało zadane.

Jesteś w pokoju z kręgiem 100 krzeseł. Krzesła są kolejno ponumerowane od 1 do 100.

W pewnym momencie osoba na krześle nr 1 zostanie poproszona o odejście. Osoba na krześle nr 2 zostanie pominięta, a osoba na krześle nr 3 zostanie poproszona o opuszczenie. Ten wzorzec omijania jednej osoby i proszenia następnego o opuszczenie będzie krążył po okręgu, dopóki nie pozostanie jedna osoba, która przeżyła.

I to jest odpowiedź, którą wymyśliłem. Wierzę, że to właściwa odpowiedź, zrobiłem to również na papierze około 10 razy i za każdym razem wymyśliłem 74. Czy to podchwytliwe pytanie? Ponieważ nie jestem pewien, co tutaj robić.

Oto jsfiddlehttp://jsfiddle.net/cQUaH/

var console = {
    log : function(s) {
        document.body.innerHTML += s + "<br>";
    }
};

var chairArr = [];
for (var i = 1; i <= 100; i++){
    chairArr.push(i);
}

var j = 2;
while(chairArr.length > 1) {
    console.log('removing ' + chairArr[j]);
    chairArr.splice(j, 1);
    j++;
    if(j >= chairArr.length) {
       console.log('--- Finished pass');
       console.log('--- Array state:');
       console.log(chairArr);
       j = (j == chairArr.length) ? 0 : 1;   
    } 
}
console.log('--- Final result: ' + chairArr); 
//result 74

questionAnswers(4)

yourAnswerToTheQuestion