ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。

2022-08-20 19:00:08  阅读:115  来源: 互联网

标签:count index 数到 凡报 第几 nums var 报数


 <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,报数
来源: https://www.cnblogs.com/gujmnlk/p/16608420.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有