当前位置:   article > 正文

n个人排成一圈,从1到3报数,数到3的人出列,输出最后剩下的哪个人是原来的第几号_从一数到3,数到3出列

从一数到3,数到3出列

public class circleLeftPeople {

    public static void main(String[]args){

        int n=3;  //n为参加游戏的人数

        int rem=n,count=1,cur=0;

        boolean[] input=newboolean[n];//用数组做标记

        while(true){

            if(rem==1) break;

            while(input[cur]==true)  cur=(cur+1)%n;  //巧妙,保证循环转圈圈

            if(count<3)   ++count;

            else{

                count=1;

                input[cur]=true;

                --rem;

            }

            cur=(cur+1)%n;//巧妙,保证循环转圈圈

        }

        for(inti=0;i<n;++i){

            if(input[i]==false){

                System.out.println(i+1);

                break;

            }  

        }

    }

}   
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/557976
推荐阅读
相关标签
  

闽ICP备14008679号