约瑟夫环问题(100围坐一圈报数,报3出圈)
Posted fengqixueluo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了约瑟夫环问题(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 }
以上是关于约瑟夫环问题(100围坐一圈报数,报3出圈)的主要内容,如果未能解决你的问题,请参考以下文章