Looping sobre números
Então esta é a questão que é dada.
Você está em uma sala com um círculo de 100 cadeiras. As cadeiras são numeradas sequencialmente de 1 a 100.
Em algum momento, a pessoa na cadeira # 1 será solicitada a sair. A pessoa na cadeira # 2 será pulada, e a pessoa na cadeira # 3 será convidada a sair. Esse padrão de pular uma pessoa e pedir a próxima para sair continuará circulando pelo círculo até que restem apenas uma pessoa, o sobrevivente.
E esta é a resposta que eu tirei. Eu acredito que esta é a resposta certa, eu fiz no papel cerca de 10 vezes também e veio com 74 todas as vezes. Isso é uma pergunta complicada ou algo assim? Porque não sei o que fazer daqui.
Aqui está o 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