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

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

     1     public class _037NumberOff {
     2 
     3     public static void main(String[] args) {
     4         numberOff();
     5     }
     6 
     7     private static void numberOff() {
     8         Scanner scanner = new Scanner(System.in);
     9         System.out.println("请输入排成一圈的人数: ");
    10         int n = scanner.nextInt();
    11         fun(n);
    12         scanner.close();
    13     }
    14 
    15     private static void fun(int n) {
    16 
    17         boolean[] arr = new boolean[n];
    18 
    19         int countNum = arr.length;
    20 
    21         // 开始都有人,初始化为true
    22         for (int i = 0; i < arr.length; i++) {
    23             arr[i] = true;
    24         }
    25 
    26         // 数到3去除
    27         for (int i = 0, j = 0;; i++) {
    28             if (arr[i]) {
    29                 j++;
    30                 if (j == 3) {
    31                     arr[i] = false;
    32                     j = 0;
    33                     // 删除一人
    34                     countNum--;
    35                 }
    36             }
    37 
    38             //
    39             if (i == arr.length - 1) {
    40                 i = -1;
    41             }
    42 
    43             if (countNum == 1) {
    44                 break;
    45             }
    46         }
    47 
    48         for (int i = 0; i < arr.length; i++) {
    49 
    50             if (arr[i]) {
    51                 System.out.println("原排在第" + (i + 1) + "位的人留下了.");
    52 
    53             }
    54         }
    55     }
    56 }
  • 相关阅读:
    jar包和war包的介绍和区别
    Oracle中rownum的基本用法
    深入理解JVM—JVM内存模型
    Oracle数据库中序列(SEQUENCE)的用法详解
    jvm主内存与工作内存
    jvm虚拟机
    java 冒泡排序
    java二分查找
    java中split()特殊符号"." "|" "*" "" "]"
    java map的实现原理
  • 原文地址:https://www.cnblogs.com/liuyangfirst/p/6544466.html
Copyright © 2011-2022 走看看