zoukankan      html  css  js  c++  java
  • 约瑟夫环问题(100围坐一圈报数,报3出圈)

    100个人编号1-100,围坐一圈,从1号开始进行1,2,3报数,谁报数为3,就离开圈子,剩下的人继续报1,2,3,报数为3的出圈。。。

    请写一段程序,计算最后一个留下来的人,他的编号

     1 package com.ycl.test;
     2 
     3 import java.util.ArrayList;
     4 import java.util.List;
     5 
     6 public class Test1 {
     7     public static void main(String[] args) {
     8         int count = 0;
     9         List<Integer> list = new ArrayList<Integer>();
    10         for (int i = 1; i <= 100; i++) {
    11             list.add(i);
    12         }
    13         while (list.size() > 0) {
    14             for (int i = 0,j = list.size();i<j; i++) {
    15                 ++count;
    16                 if(count==3){
    17                     count=0;
    18                     list.remove(i);
    19                     --i;
    20                     --j;
    21                     continue;
    22                 }
    23             }
    24             if(list.size()==1){
    25                 System.out.println("Last Number:"+list.get(0));
    26                 break;
    27             }
    28         }
    29     }
    30 }
  • 相关阅读:
    笔记
    Dwarf Tower
    第k小数
    np
    noi 抓住那头牛
    HDU 1575 Try A
    acm 易错警示
    E
    魔改森林 题解(dp+容斥+组合数学)
    F. Unusual Matrix 题解(思维)
  • 原文地址:https://www.cnblogs.com/BeautyInWholeLife/p/7465857.html
Copyright © 2011-2022 走看看