一群人围成一圈从123报数,如果报到3就退出该圈中,直到最后一个人留下来!...
生活随笔
收集整理的這篇文章主要介紹了
一群人围成一圈从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++) {//游戲開始游標+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就退出该圈中,直到最后一个人留下来!...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 查看MySQL的当前日期
- 下一篇: AJAX请求中payload和formd