首页 > 代码库 > 俗名猴子选大王,学名约瑟夫环
俗名猴子选大王,学名约瑟夫环
有n 个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),
凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
public class Baochu { public static void main(String[] args) { Res(10,3); } public static void Res(int n,int flag){ List li = new ArrayList(); if(n!=0){ //加入大List中 for(int i=0;i<n;i++){ li.add(i+1); } int k=1; ListIterator<Integer> it=null; //当剩余1人时停止 while(li.size()>1){ it=li.listIterator(); /** * K相当于一个指针,走到第三个执行if中方法 */ while(it.hasNext()){ int res =it.next(); if(k++%flag==0){ System.out.println(res+"退出"); it.remove(); k =1; } } } System.out.println("最后剩下编号为"+li); } } }
俗名猴子选大王,学名约瑟夫环
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。