300个人围成一个圈,从某个指定的人开始报数(1--3),凡是数到3的人退出圈子
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的人退出圈子的主要内容,如果未能解决你的问题,请参考以下文章
c语言,有n个人围成一个圈,顺序排号,从第一个开始报数(1到3),凡报到3的退出圈子问最后留下的人
Java迭代器问题 有100个人围成一个圈从1开始报数,报到14的这个人就要退出,然后其他人重新开始,从1报数,到14退出问:最后剩下的是100人中的第几个人 用listIterator迭代元素,并对