package com.pb.demo1;import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;/*** 一群人围成一圈从123报数,如果报到3就退出该圈中,直到最后一个人留下来!* 约瑟夫的游戏*/
public class Demo1 {public static void main(String[] args) {//声明值一个扫描器的变量Scanner input =new Scanner(System.in);System.out.println("请输入参数游戏的人数:");String str=input.next();//判断是不是数字String regx="\\d+";Pattern p=Pattern.compile(regx);Matcher m=p.matcher(str);int num=0;if(m.matches()){//如果是数字就转换为数字num=Integer.parseInt(str);}else{//如果不是数字终止System.out.println("输入的不是数字:结果为0");return ;}//为每个人编号List<Integer> list=new ArrayList<Integer>();for (int i = 0; i < num; i++) {//编号从一开始list.add(i+1);}//定义游戏要退出的变量int  cursor=0;//开始游戏只到最后一人是结束while(list.size()>1){for (int i = 0; i <list.size(); i++) {//游戏开始游标+1cursor++;if(cursor%3==0){list.remove(i);//游标重新开始并归零cursor=0;//人数-1i--;}}}System.out.println("集合的大小:"+list.size());System.out.println("最后的人编号是:"+list.get(0));}}

转载于:https://www.cnblogs.com/liunanjava/p/4421112.html

一群人围成一圈从123报数,如果报到3就退出该圈中,直到最后一个人留下来!...相关推荐

  1. Java数组实现:一群人围成一圈从123报数 如果报到3就退出该圈中 直到最后一个人留下来!问其位置

    题目:一群人围成一圈从123报数,如果报到3就退出该圈中,直到最后一个人留下来!问留下这个人的位置是多少? 这是一个典型的约瑟夫环问题,接下来我只用Java的数组去实现,为什么用数组我觉得数组相对来说 ...

  2. 一群人围成一圈报数,3倍数的就退出,面试题

    这个题目指的是一群人,围成一个圈,然后一个接一个的报数,当数到3或者3的倍数时候就退出,知道最后一个人. 距离当人数为30的时候: public class CycleTest {          ...

  3. 一群人围成一圈从123报数,如果报到3就退出该圈中,直到最后一个人留下来!

    #include<stdio.h> int main() {   int m,n,i,k,*p,num[50];   printf("please input join peop ...

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

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

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

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

  6. 1056: 约瑟夫问题【n人围成一圈,报数为3的人退出圈子,问最后留下的人原来的编号。】

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

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

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

  8. Java基础题——15只狮子围成一圈,依次报数,报到7被剔除,最后剩下的狮子成为狮王,求狮王为第几只?

    问题如下:Java基础题--15只狮子围成一圈,依次报数,报到7被剔除,最后剩下的狮子成为狮王,求狮王为第几只? 解决问题所使用的重点:利用循环. 大体思路:每只狮子都设为true,然后循环报数,到7 ...

  9. 30人围成一圈的小游戏。c语言

    30人按照序号1,2......30围成一圈,从第一个人开始报数,当有人喊道5的时候,这个人出去,然后下一个人从1开始报数,以此类推,直到30个人都出去了为止. main() {     int i, ...

最新文章

  1. 初学Java Web(7)——文件的上传和下载
  2. 产品体验分析之7步走(附PPT)
  3. 2018先知白帽大会 | 议题解读
  4. dll侧加载_WORD打开时出现加载DLL错误解决方法
  5. mysql8修改密码
  6. 【Kafka】kafka KafkaException: Exception while loading Zookeeper JAAS login context ‘Client‘
  7. Android 中的冷启动和热启动
  8. 设计模式(7)——适配器模式
  9. 拓端tecdat|R语言样条曲线、泊松回归模型估计女性直肠癌患者标准化发病率(SIR)、标准化死亡率(SMR)
  10. 【POJ-2452】Sticks Problem【二分右端点+线段树】
  11. 2013.05.09
  12. java使用图灵机器人,Java 调用图灵机器人
  13. android 日历动画的实现
  14. 【论文阅读】强化学习-Other Directions for Combining Policy-Learning and Q-Learning专题4篇
  15. 为什么mac Safari提示:打不开该网页,因为无法与服务器建立安全的链接?
  16. 【地图学】地图投影的定义和分类
  17. IIS服务器开启https
  18. 一个u盘大小的树莓派就能搭建一个服务器
  19. 淘宝开店指南——店铺设置篇
  20. swagger添加@ApiImplicitParams后出现错误 Required String parameter is not present

热门文章

  1. MVC 页面传参到另一个页面
  2. Delphi工具之Image Editor
  3. 阿里与珠海横琴新区达成战略合作,阿里云助力打造横琴智能岛
  4. 快速排序——Java
  5. python中的线程之semaphore信号量
  6. Setuptool+pip安装
  7. Linux安装source-code-pro字体
  8. Android布局属性详解之RelativeLayout
  9. 使用CrpytAPI编码和解码PKCS#7消息
  10. 关于GNS3占用很大CPU的问题,很大可能对你有用