`

数3退1

 
阅读更多

模拟数3退1(手拉手成圈,从第一个人开始数数,数到3的人就退出,然后继续数,直到剩下最后一个小孩)

 

http://blog.csdn.net/tungkee/article/details/6575891

 

 

普通的解决方式:

public class CountThreeQuit {  

    public static void main(String[] args) {  

        boolean[] arr = new boolean[500];  

          

        for (int i=0; i<arr.length; i++) {  

           arr[i] = true;  

        }  

          

       int leftCount = arr.length;  

       int countNumber = 0;  

        int index = 0;  

          

     while (leftCount > 1) {  

            if (arr[index] == true) {  

                countNumber ++;  

                  

                if (countNumber == 3) {  

                   countNumber = 0;  

                    arr[index] = false;  

                    leftCount --;  

               }  

           }  

             

           index ++;  

            

           if (index == arr.length) {  

              index = 0;  

          }     

      }  

        

      for (int i=0; i<arr.length; i++) {  

            if (arr[i] == true) {  

               System.out.println(i);  

          }  

     }  

      

  }  

}  

 

分享到:
评论

相关推荐

    java 数三退一程序

    数三退一,双向链表,Count1Quti2

    C++学习测试程序(数三退一)

    vs环境下实现计算字符串的大小、字符串连接(两种方法)、字符串的比较、计算子串的数目、模板匹配,如str 传入字符ABCDE,arr 传入30124,则输出DABCE;单项循环链表实现数3退1 。以上均在VS下编程测试通过。

    3t叉车3进3退变速箱

    1. 多挡位:3进3退的设计提供了更多的速度选择,使得叉车在各种工况下都能保持良好的行驶性能。 2. 灵活性:多个挡位使得叉车在狭窄空间内的操作更为便捷,提高了工作效率。 3. 可靠性:经过优化设计的齿轮和离合器...

    用java实现数三退一 两种方法

    "数三退一"是一种经典的智力游戏,也称为"三进二出"或"数鸭子"游戏。在这个游戏中,玩家需要从一个初始数字开始,每次可以加3或者减2,目标是通过这样的操作使数字变为0。在Java编程中,实现这个逻辑可以帮助初学者...

    java 数三退一源代码

    这个是用JAVA实现的数三退一的源代码,是用双链表实现的,不知道对大家有没有用,可以看看,对于大学里老师可能会让人做这样的题目,可能看对大家有帮助哦

    约瑟夫退圈问题

    N个人围成一圈,从第一个人开始按顺序报数并编号1,2,3,……N,然后开始从第一个人转圈报数,凡是报到3的退出圈子。则剩下的最后一个人编号是多少。 定义一个类,然后在类前定义一个结构体  2、在类中定义一个链表...

    python 10个人循环报数到3排除

    针对现在经典问题10个人循环报数问题编写的python实现,循环中的100次循环其实可以改为使用while实现,那个比for循环好一点。同样的可以将10个人改为任意的人数,只要不超过int限制

    ionic3监听并修改手机物理返回键和自带导航回退解决方案

    本文将详细介绍如何在Ionic 3中实现这些功能,特别是在处理子页面、弹出框和多层回退操作时。 首先,我们需要理解Ionic 3的导航架构。Ionic框架使用NavController来管理页面堆栈,每次用户导航到新的页面,都会将该...

    javascript经典特效---回退的页面数.rar

    在JavaScript编程领域中,"回退的页面数"这一概念主要涉及到浏览器的历史记录管理。当用户在网页间浏览时,浏览器会记录用户的访问路径,这就是所谓的“历史记录”。JavaScript提供了与用户浏览历史交互的能力,允许...

    YAG 退偏损耗的计算

    通过优化激光束的耦合,如增加激光束在入口平面的跳数和保持横截面的长宽比小于1,可以减少退偏损耗。 具体到YAG晶体的性质,其[111]晶面是研究退偏损耗的重要方向。[111]方向是指晶体的一个特殊晶轴方向,对于YAG...

    2G 3G减频退网白皮书精品报告2020.rar

    然而,随着4G LTE(第四代长期演进)和5G(第五代)技术的崛起,2G和3G网络逐渐面临减频退网的命运。这份报告详尽地分析了这一过程的必要性、挑战与机遇,以及对未来移动通信格局的影响。 首先,2G 3G减频退网的...

    10DB回退谐波控制.pdf

    1. Doherty功率放大器(DPA)的基础:介绍了DPA的原理,强调了它在6dB输出回退功率到饱和状态之间提供高效率的特性。DPA的传统结构使用两个相同的有源器件,并通过对称偏置实现所需的负载调制特性。 2. 现代无线...

    jquery数字控制3d幻灯片切换

    7. **兼容性处理**:由于CSS3和某些高级的JavaScript特性在旧版浏览器中可能不被支持,开发者需要进行兼容性检测和适当的回退策略,以确保在较老的浏览器中也能正常工作。 在实际应用中,开发人员会将这些知识点...

    五个数的全排列

    例如,假设我们有5个数`{1, 2, 3, 4, 5}`,初始状态是未排列的,递归函数会尝试各种可能性,如`[1, 2, 3, 4] + [5]`,然后是`[1, 2, 3, 5] + [4]`等,直到所有可能的排列都被生成并输出。 在实际代码中,我们还需要...

    软件测试-送测与退测流程

    1. **启动条件**:当开发部门认为代码修改完毕,达到复测标准(Open和Reopen的缺陷个数*缺陷级别≤50)时,可以申请送测。 2. **开发申请**:开发人员提出测试申请,直接跳至第6步。 3. **测试申请**:如果测试部门...

    100以内两位数减一位数退位减法试题(卷).doc

    2. **两位数减一位数**:题目中的每个减法问题都是一个两位数减去一个一位数,如20 - 1、37 - 8等。这类问题需要理解并熟练掌握退位减法的规则。 3. **运算步骤**: - 首先,检查个位数是否大于或等于减数。 - ...

    123循环报数,遇3退出

    n个人排一圈123报数,报到3的人退到圈外,直到剩最后一个人为止

    宾馆退房管理的设计与实现

    3. **退房管理**:模拟顾客退房场景,测试系统是否能够正确处理退房操作。 4. **退房操作后的文件存储**:确认退房操作后文件信息是否正确更新。 ##### 3.2 测试方法 测试方法采用黑盒测试和白盒测试相结合的方式...

    回溯法解数独问题

    这种方法的核心思想是,在遇到不可行的选择时能够回退到上一步,并尝试其他的可能路径,直至找到问题的解或证明问题无解。具体来说: - **确定解空间**:首先定义问题的解空间,即所有可能的解决方案集合。 - **...

    快速口算法补数.doc

    减法同样利用补数,遵循“减原数=退1加补数”的规则。当被减数的外珠小于减数时,需要“退1加补数”来完成运算。通过这些技巧,即使是复杂的加减法也能简化为基本的运算,从而提高计算效率。 总的来说,快速口算法...

Global site tag (gtag.js) - Google Analytics