zoukankan      html  css  js  c++  java
  • 代码实现:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。

    import java.util.ArrayList;
    import java.util.List;
    import java.util.Scanner;
    
    //有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
    public class Test37 {
    
    	public static void main(String[] args) {
    		int n = getN();
    		List<Integer> list = new ArrayList<>();
    		for (int i = 1; i <= n; i++) {
    			list.add(i);
    		}
    		int count = 1;
    		while (list.size() > 1) {
    			for (int i = 0; i < list.size(); i++) {
    				count++;
    				if (count == 3) {
    					list.remove(i);
    					i--;
    					count = 0;
    				}
    			}
    		}
    		System.out.println("留下的是原来第" + (list.get(0) + 1) + "号");
    	}
    
    	public static int getN() {
    		int n = 0;
    		Scanner sc = new Scanner(System.in);
    		System.out.println("请输入一个数:");
    		while (true) {
    			String s = sc.nextLine();
    			try {
    				n = Integer.parseInt(s);
    				break;
    			} catch (NumberFormatException e) {
    				System.out.println("输入错误,请重新输入:");
    			}
    		}
    		return n;
    	}
    }
    
  • 相关阅读:
    iOS热更新-8种实现方式
    HTTPS分析-简单易懂
    猖獗的假新闻:2017年1月1日起iOS的APP必须使用HTTPS
    iOS的ATS配置
    Objective-C中block的底层原理
    iOS系列文章
    UIViewController生命周期-完整版
    缩放因子和UI设计
    iOS APP 如何做才安全
    逆向工程
  • 原文地址:https://www.cnblogs.com/loaderman/p/6527522.html
Copyright © 2011-2022 走看看