// 思路
// 创建一个队列 装入所有编号
// 创建循环 每次循环将前count-1个元素放到队列末尾
// 再从队列头部弹出一个元素 直到队列只剩1个元素 该元素就是淘汰后的结果
function fn(num, count) {
let queue = [] // 队列
// 先将所哟编号从头填入队列
for (let i = 1; i <= num; i++) {
queue.push(i)
}
// 直到队列剩下1个元素一直循环
while (queue.length > 1) {
// 将前count - 1个元素 按顺序弹出并填入队列末尾
for (let i = 1; i < count; i++) {
queue.push(queue.shift())
}
// 再弹出头部元素 作为被淘汰的
queue.shift()
}
// 只剩一个元素 就是结果值
return queue[0]
}
// 验证
console.log(fn(30, 3)) // 29