有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子

问题:

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

解题思路:

假设一共有n个人,则定义一个长度为n的boolean数组。全部元素的值为true。报数为3的元素其值为false。一直循环下去,直到只剩下一个值为true的元素。则该原色的下标加一就是最后剩下的人的号码。

下面是代码:

package com.test;public class Test19CallNumber {public static void main(String[] args) {boolean[] persons = doCall(10);for (int i = 0; i < persons.length; i++) {if (persons[i]) {System.out.println("最后留下的是:"+(i+1)+"号。");}}}public static boolean[] doCall(int person) {boolean[] persons = new boolean[person];int number = person, key = 0;for (int i = 0; i < person; i++)persons[i] = true;while (number != 1) {for (int i = 0; i < person; i++) {if (!persons[i]) {continue;} else {key++;if (key % 3 == 0) {System.out.println("编号为:"+(i+1)+"的人退出。");persons[i] = false;key = 0;}}}number = 0;for (int i = 0; i < person; i++) {if (persons[i]) {number++;}}}return persons;}
}

有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子相关推荐

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

    题目:有n个人围成一圈,顺序排号,从第一个开始报数(从1到3报数),凡报到3的人退出圈子,问最后最后留下的是原来第几号的那位. 提示:用数组完成 #include <stdio.h> in ...

  2. 有n个人围成一圈 顺序排号 java_java基础编程题有n个人围成一圈顺序排号

    下面给大家带来的这道编程题可以算得上是一道非常基础的java编程题目,刚刚开始接触java编程的小伙伴一起来看看具体的题目以及解题方法吧. 下面是具体的题目,题目还是非常的简单的. 一.题目 有n个人 ...

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

    解题思路的重要性显现出来了 比如这个题 n个人肯定是要用数组 毋庸置疑 那么报数怎么实现呢 可以设置一个循环变量 让他从0开始循环 当等于3 的时候 就归零 还有 n个人 肯定需要很多圈报数 这个很多 ...

  4. 有n个人围成一圈 顺序排号 java_java有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出...

    public class Test { public static void main(String[] args) { // 测试数据 ArrayList list = new ArrayList( ...

  5. 有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡是报到3的人退出圈子,问最后留下来的是原来的第几位(指针方法处理)。——C语言

    1 概述 有n个人围成一圈,顺序排号.从第一个人开始报数(从1到3报数),凡是报到3的人退出圈子,问最后留下来的是原来的第几位(指针方法处理).--C语言 2 解法 //C程序设计第五版(谭浩强) / ...

  6. 详细讲解C语言经典例题:有n个人围成一圈,顺序排号。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子, 问最后留下的是原来第几号的那位

    有n个人围成一圈,顺序排号.从第1个人开始报数(从1到3报数),凡报到3的人退出圈子, 问最后留下的是原来第几号的那位 如题,相信很多人都和我一样,当时看到根本不知道从何下手.那么我们先不看代码,画图 ...

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

    问题详情:有n个人围成一圈,顺序排号.从第一个人开始报数(从1报到3),凡是报到3的人退出圈子,问最后留下的是原来第几号的那位? 我的代码: #include<stdio.h> int m ...

  8. 有n个人围一圈,顺序排号,报号游戏

    网上关于这个问题的解法已经有很多了,我现在是把网上的一些加上自己的理解,套用为一个固定写法,当然理解最重要啦! 我也是最近才开始学指针的,欢迎大家留言学习讨论 报数游戏的普遍说法: 有10个人围一圈, ...

  9. n个小孩围成一圈,顺序报号,从第一个人开始报数(从1报到5),凡是报到5的人退出圈子,问最后留下的小孩原来是几号

    n个小孩围成一圈,顺序报号,从第一个人开始报数(从1报到5),凡是报到5的人退出圈子,问最后留下的小孩原来是几号 #include<stdio.h> int main() {int i,k ...

  10. 有n个人,顺序排列, 并首尾相连围成一圈。从第一个人开始报数(从1到4),凡报到4的人退出圈子+扩展版本

    https://blog.csdn.net/qq_44037213/article/details/106551760?fps=1&locationNum=2 有n个人(n<=1000) ...

最新文章

  1. shell脚本_查找无效网址
  2. power python_在 Power BI Desktop 中运行 Python 脚本
  3. C语言再学习 -- 关键字const
  4. PWN-PRACTICE-BUUCTF-22
  5. Spring JDK动态代理
  6. task.run 强制结束线程_图文介绍进程和线程的区别
  7. java分割两个时间段不在同月份
  8. Centos6.6安装Nginx
  9. OSError: [Errno 22] Invalid argument: ‘\u202aC:\\Windows\\Fonts\\方正粗黑宋简体.ttf‘解决方案
  10. 实战Swiper:利用Swiper制作手机全屏相册
  11. 管理感悟:衡量境界的差异
  12. 【机器学习】偏差-方差分解Bias-variance Decomposition
  13. layui表格时间格式化
  14. 高中数学立体几何证明套路高考试题(附答案)
  15. python进行谱曲_使用LSTM-GAN为歌词谱曲
  16. 高防ip是如何防御攻击的?
  17. windows server 2016打开服务器管理器和启用或关闭windows功能报.net fr
  18. 如何将asc文件转换成的txt文件,并导入到sql server中?
  19. {__ob__: observer}取值报错问题
  20. 还用 Macbook 装Windows ?你就out了

热门文章

  1. 深大uooc大学生心理健康章节答案第六章
  2. 03-HTML框架介绍——body
  3. 基于常见投票系统的作弊方法
  4. openstack命令创建内网+外网+路由+云主机
  5. 深入理解docker的link机制
  6. 风林火山 GHOST XP SP3清爽纯净版V2011_01
  7. 第一章 命题逻辑 1.5联结词的完备集
  8. 推荐一个图片管理软件
  9. 13视频监控-02视频监控画面-videopanel
  10. php实现云盘下载不限速,【合集】【已更新第五种】五种百度云下载不限速方法+软件...