首页 > 代码库 > 300个人围成一个圈,从某个指定的人开始报数(1--3),凡是数到3的人退出圈子
300个人围成一个圈,从某个指定的人开始报数(1--3),凡是数到3的人退出圈子
public static void main(String[] args) { /* * 300个人围成一个圈,从某个指定的人开始报数(1--3),凡是数到3的人退出圈子, * 问最后剩下的一个是从指定位置开始计数的第几个人? */ int num[]=new int[300]; int i=0; // 数组的下标计数器 0---299 int count=0; // 退出的人数计数器 0---299 int n=1; // 数数的计数器 1---3 while(count<299){ // 数组的值如果是1,代表该位置的人不存在 // 不存在的位置则直接跳过 if(num[i]==1){ i++; if(i>299) i=0; continue; } // 数数计数器值为3,代表该位置上的人需要退出 if(n==3){ num[i]=1; // 代表退出 count++; // 退出的人数计数器累加 // System.out.println("退出序号:"+(i+1)+",计数器:"+count); } n++; if(n>3) n=1; i++; if(i>299) i=0; } // System.out.println(count); for(i=0; i<num.length; i++){ if(num[i]==0){ System.out.println("最后剩下的序号为:"+(i+1)); } } }
300个人围成一个圈,从某个指定的人开始报数(1--3),凡是数到3的人退出圈子
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。