function countOff(n,m) {
if (n <= 1 || m < 1) {
console.log("请输入比1大的");
return
}
let arr = new Array(n).fill(1) //长度为n的数组,所有项为1
let count = 0;// 计数器
let outPlayers = 0;// 记录出圈人数
// 只剩下最后一个人时才结束
while(outPlayers < n - 1) {
for (let i = 0;i < arr.length; i++) {
if (arr[i] === 1) {
// 每经过一次元素为1就让计数器加一,如果元素为0则证明已出圈,不用计数
count++;
// 当他等于m时,就让这个元素为0,并让出圈人数加一
if (count === m) {
arr[i] = 0;
outPlayers++;
count = 0;
}
// 当m为1时,数组所有元素会都为0,跳不出for循环
if (outPlayers === n - 1) {
break;
}
}
}
}
// 找出这个为0的元素的索引
let winner = arr.findIndex(item => item === 1) + 1
console.log(winner)
}
countOff(1000,3);
console