ですから、これが与えられた質問です。
あなたは 100 脚の椅子が円形に並んだ部屋にいます。椅子には 1 から 100 までの番号が付けられています。
ある時点で、椅子 #1 の人は退席するように求められます。椅子 #2 の人はスキップされ、椅子 #3 の人は退席するよう求められます。1 人を飛ばして次の人に退場を求めるこのパターンは、生存者が 1 人残るまで円を回り続けます。
で、たどり着いた答えがこれです。私はこれが正しい答えだと信じています.紙の上でも約10回行い、毎回74を思いつきました. これはひっかけ問題か何かですか?ここからどうすればいいのかわからないからです。
これがjsfiddle http://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