嫣安  

import java.util.*;
/**
*
* 有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),
* 凡报到3的人退出圈子,
* 问最后留下那位的是原来第几号
*
*/
public class Circle_3 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入总人数:");
int p = input.nextInt();
boolean[] flag=new boolean[p];
for(int i=0;i<flag.length;i++){
flag[i]=true;
}
int n=0,len=flag.length;
while(len>1){
for(int i=0;i<flag.length;i++){
if(flag[i]){
n++;
if(n%3==0){
flag[i]=false;
len--;
n=0;
}
}
}
}
System.out.println("最后的情况:" + Arrays.toString(flag));
for(int i=0;i<flag.length;i++){
if(flag[i]){
System.out.println("最后留下的是原来的第"+(i+1)+"号");
}
}
}

}

posted on 2015-04-11 17:49  gd_y  阅读(206)  评论(0)    收藏  举报