1.要求:有一群人围成一圈数数,逢3退1人,要求算出最后留下来的人的下标

2.代码:

 1 package Test;
 2
 3 public class Count3Quit1 {
 4
 5     //要求:有一群人围成一圈数数,逢3退1人,要求算出最后留下来的人的下标
 6
 7     public static void main(String[] args) {
 8
 9         //接收java 参数指定人数
10         int len = Integer.parseInt(args[0]);
11
12         //用boolean数组数组模拟一圈人,true表示还在,false表示已退出
13         boolean [] peoples = new boolean[len];
14         /*for(boolean b : peoples){
15             b = true;
16         }*/
17         for(int i = 0; i < peoples.length; i++){
18             peoples[i] = true;
19         }
20
21
22         //逢3退1
23         int leftCount = len;    //1.leftCount表示目前剩多少人
24         int index = 0;            //2.index当前的元素下标
25         int count = 0;            //3.count表示数到多少
26
27         while(leftCount > 1){
28             if(peoples[index]){
29                 count++;
30                 if(count == 3){
31                     peoples[index] = false;
32                     count=0;
33                     leftCount--;    //剩余人数要减1
34                 }
35             }
36
37             //把元素下标下称
38             index++;
39
40             //如果已数到数组尽头则重头开始数
41             if(index > len-1){
42                 index = 0;
43             }
44         }
45
46         for(int i = 0; i < peoples.length; i++){
47             if(peoples[i]){
48                 System.out.println(i);
49             }
50         }
51     }
52 }

3.运行结果 java Count3Quit1 500:

435

转载于:https://www.cnblogs.com/shamgod/p/4603963.html

Java-数据结构与算法-逢3减1相关推荐

  1. java数据结构与算法之顺序表与链表深入分析

    转载请注明出处(万分感谢!): http://blog.csdn.net/javazejian/article/details/52953190 出自[zejian的博客] 关联文章: java数据结 ...

  2. Java数据结构与算法(二)

    Java数据结构与算法(二) 第六章 递归 1 递归应用场景 2 递归的概念 3 递归调用机制 4 递归能解决什么样的问题 5 递归需要遵守的重要规则 6 递归-迷宫问题 6.1 迷宫问题 6.2 代 ...

  3. Java数据结构和算法 - 递归

    三角数字 Q: 什么是三角数字? A: 据说一群在毕达哥拉斯领导下工作的古希腊的数学家,发现了在数学序列1,3,6,10,15,21,--中有一种奇特的联系.这个数列中的第N项是由第N-1项加N得到的 ...

  4. Java 数据结构和算法 - 递归

    Java 数据结构和算法 - 递归 什么是递归 背景:数学归纳法证明 基本递归 printing numbers in any base 它为什么有效 如何工作 递归太多是危险的 树 数值应用 模幂运 ...

  5. 数据结构 - Java -韩顺平 图解Java数据结构和算法

    数据结构 Lesson 1 数据结构的知识总结 1. 几个经典的算法面试题 2. 线性结构与非线性结构 2.1 稀疏数组 sparsearray 2.2 队列 2.2.1 顺序队列: 2.2.2 环形 ...

  6. Java 数据结构与算法系列之冒泡排序

    一.前言 相信大部分同学都已经学过数据结构与算法这门课了,并且我们可能都会发现一个现象就是我们所学过的数据结构与算法类的书籍基本都是使用 C 语言来写的,好像没见过使用 Java 写的数据结构与算法. ...

  7. Java数据结构与算法——树(基本概念,很重要)

    声明:码字不易,转载请注明出处,欢迎文章下方讨论交流. 有网友私信我,期待我的下一篇数据结构.非常荣幸文章被认可,也非常感谢你们的监督. 前言:Java数据结构与算法专题会不定时更新,欢迎各位读者监督 ...

  8. Java数据结构与算法——插入排序

    声明:码字不易,转载请注明出处,欢迎文章下方讨论交流. 前言:Java数据结构与算法专题会不定时更新,欢迎各位读者监督.本篇文章介绍排序算法中插入排序算法,包括插入排序的思路,适用场景,性能分析,ja ...

  9. Java数据结构和算法(六)——前缀、中缀、后缀表达式

    前面我们介绍了三种数据结构,第一种数组主要用作数据存储,但是后面的两种栈和队列我们说主要作为程序功能实现的辅助工具,其中在介绍栈时我们知道栈可以用来做单词逆序,匹配关键字符等等,那它还有别的什么功能吗 ...

  10. Java数据结构和算法(一)——简介

    本系列博客我们将学习数据结构和算法,为什么要学习数据结构和算法,这里我举个简单的例子. 编程好比是一辆汽车,而数据结构和算法是汽车内部的变速箱.一个开车的人不懂变速箱的原理也是能开车的,同理一个不懂数 ...

最新文章

  1. 云极知客开放平台接口调用方法(C#)
  2. php mysql主从延迟_如何解决主从数据库同步延迟问题?php连接 mysql 数据库如何添加一个公共的配置文件50...
  3. 您可能没有使用的最佳三星Galaxy功能
  4. php eurl.axd,Http异常eurl.axd出错信息解决方法
  5. 枚举ENUM的tostring() valueof()name()和values()用法
  6. 关闭和启动Oracle的几种方法总结
  7. 中兴通讯:已具备完整的5G端到端解决方案的能力
  8. tensorflow 显存 训练_tensorflow手动指定GPU以及显存大小
  9. Android动态加载字节码
  10. JVM 怎么判断对象已经死了?
  11. 第五章 基于引用计数的内存管理
  12. 手机c语言编译器ide文件位置,C语言编译器IDE
  13. 数据地图搜索功能模块项目总结【springBoot+Elasticsearch】
  14. Qt程序退出QThread: Destroyed while thread is still running问题
  15. dayjs格式化使用
  16. 三、Solr管理控制台(二)
  17. 无需修改bios即可让任意主板实现NVME启动
  18. C语言编程实现书号查询功能,图书图书管理系统——查询模块的设计与实现(C语言).doc...
  19. 科班出身程序员和培训出来的程序员区别在哪?
  20. VTD 监视器航向角与 53-2017国标 航向角对齐

热门文章

  1. LeetCode 2012. 数组美丽值求和
  2. LeetCode 879. 盈利计划(动态规划)
  3. 01.神经网络和深度学习 W2.神经网络基础
  4. 计算机网络路由选择协议,IP路由选择协议原理和作用
  5. notepad python设置_NotePad++上配置Python
  6. .git文件夹_Git幸存者指南
  7. python计算球坐标系的积分_python – n球面坐标系到笛卡尔坐标系
  8. reload端口 tomcat_tomcat上部署网站的三种方式
  9. wordpress acf字段 不同样式_提升wordpress执行效率二次开发实录
  10. 如何优雅的追到女神夕小瑶