zoukankan      html  css  js  c++  java
  • 一群人围成一圈从123报数,如果报到3就退出该圈中,直到最后一个人留下来!

    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++) {
                    //游戏开始游标+1
                    cursor++;
                    if(cursor%3==0){
                        list.remove(i);
                        //游标重新开始并归零
                        cursor=0;
                        //人数-1
                        i--;
                    }
                    
                }
            }
            System.out.println("集合的大小:"+list.size());
            System.out.println("最后的人编号是:"+list.get(0));
        }
    
    }
  • 相关阅读:
    [转]shell getopts用法
    [转]KVM虚拟化原理探究
    [转]存储相关的一些概念解释
    [转]绑定设备到驱动
    [转] SCSI, FC, ISCSI协议
    [转译]zoned storage device
    CORS jsonp
    orange---openresty.---authorization,-129.0.1.227,jwt
    vue
    hive sqoop,sqoop-hive import data
  • 原文地址:https://www.cnblogs.com/liunanjava/p/4421112.html
Copyright © 2011-2022 走看看