SOURCE

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 命令行工具 X clear

                    
>
console