代码如下:

import java.util.Scanner;public class Test15 {public static void main(String[] args) {//定义数组判断是否在圈内true->在、false->不在Scanner sc = new Scanner(System.in);System.out.print("请输入人数:");int n = sc.nextInt();boolean[] isIn = new boolean[n];for (int i = 0; i < isIn.length; i++) {isIn[i] = true;}//定义圈内人数、报数和索引int inCount = n;int countNum = 0;int index = 0;//去掉报数为3的人while (inCount > 1) {if (isIn[index]) {countNum++;//开始报数if (countNum == 3) {countNum = 0;//从下一位开始将报数归于0,从1开始重新报数isIn[index] = false;//将此时索引值对应的数改为falseinCount--;//圈内一个人改为false后,下次此人便不再进行报数,所以inCount-1}}index++;//索引值+1进行下一次if判断if (index == n) {index = 0;}}for (int i = 0; i < isIn.length; i++) {if (isIn[i]) {System.out.println("最后留下的是原来第" + (i + 1) + "号的那位");}}}
}

运行效果图:

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

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

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

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

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

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

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

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

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

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

    面试的时候碰到这道题,后来百度了一下感觉答案不对,而且也比较缺少java版本.就自己写了下. 题目描述:有 n 个人围成一圈,顺序排号.从第一个人开始报数(从 1 到 3 报数),凡报到 3的人退出圈 ...

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

    首先,我最大的学习来源不是百度而是我群友~~在这里表白一波我热爱学习的群友们! 然后今天群里突然有人提出了题目的这个问题: 有n个人围成一圈,顺序排号.从第一个人开始报数(从1到3报数),凡报到3的人 ...

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

    题目:     有n个人围成一圈,顺序排号.从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位. 解题思路:     利用数组的"0"和&qu ...

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

    题目描述 有n人围成一圈,顺序排号. 从第1个人开始报数(从1到3报数),凡报到3的人退出圈子.`在这里插入代码片` 问最后留下的是原来的第几号的那位. 输入 初始人数n 输出 最后一人的初始编号 样 ...

  9. python n个人围成一圈,Python练习代码实例69-有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的...

    Python 练习实例69 题目:有n个人围成一圈,顺序排号.从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位. 程序分析:无. 程序源代码:#!/usr/bi ...

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

    题目描述 有n人围成一圈,顺序排号.从第1个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来的第几号的那位. 输入 初始人数n 输出 最后一人的初始编号 样例输入 3 样例输出 2 ...

最新文章

  1. oracle中的java无法_Java无法连接oracle
  2. 异常:javax.servlet.jsp.PageContext cannot be resolved to a type
  3. 文献学习(part17)--Correlation Adaptive Subspace Segmentation by Trace Lasso
  4. [NOIP1999] 提高组 洛谷P1014 Cantor表
  5. mysql多表成绩查询_MySQL多表数据记录查询(一)
  6. 工作几天被裁员,难受
  7. python魔术方法abstract_python学习之面向对象高级特性和魔术方法
  8. 实锤了?哪吒涉嫌抄袭起诉已立案:公布多张相似对比图
  9. sftp api java_SFTP例子2----使用JSch实现SFTP文件传输
  10. 在NT系列操作系统里让自己“消失”
  11. Python实现机器学习
  12. VRRP与VLAN综合实验
  13. ffmpeg视频裁剪
  14. python是动态语言图片_利用python图片生成,需10几行代码,生成的动态表情包(小黄鸭)...
  15. sketch如何在手机中预览
  16. 汽车模复杂曲面分型面的几种创建技巧
  17. 视频教程-深度学习与PyTorch入门实战教程-深度学习
  18. 数据结构 Hash,哈希冲突,哈希聚集,BloomFilter,分布式一致性hash
  19. 【linux命令】df和du的区别、文件系统
  20. Fragment Transactions Activity State Loss

热门文章

  1. 什么是曾维沛云推广?带广西企业完成前瞻性战略网络营销推广布局
  2. 18年轮回的地产周期
  3. 【OpenCV-Python】——边缘和轮廓Laplacian/Sobel/Canny边缘检测查找/绘制轮廓及轮廓特征霍夫直线/圆变换
  4. 【转】iOS 开发怎么入门?
  5. 黑群晖教程:(一)群晖硬件选择
  6. MYSQL骚操作之第四十话之索引优化+SQL常用高频语句+删除区别
  7. 【HTML5】Canvas中的tranform变换矩阵
  8. 大学生未来如何才能避免买不起房
  9. idea的Maven Projects中红色波浪线报错
  10. forEach,for in,for of