<script>
// 11.有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),
//凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
//写一个数组 存所有的人
function fn(n){
//初始化一个数组
var nums = []
for(var i=0;i<n;i++){
//设置所有的内容都是没有数过的
nums[i] = false
}
//报数
var count = 0
var index = 0
var total = nums.length
while(total>1){
if(!nums[index]){
count++
//数到了3 将total-1
if(count==3){
count = 0
nums[index] = true //表示已经数到了3
total --
}
}
index++
//数到最后重新循环
if(index==nums.length){
index = 0
}
}
//只要拿出里面为false哪个下标就是对应的位置
for(var index in nums){
if(!nums[index]){
return Number(index)+1
}
}
}
console.log(fn(10));
</script>
标签:count,index,凡报,第几,nums,var,报数
From: https://www.cnblogs.com/gujmnlk/p/16608420.html