public static void main(String[] args) {
//输入人数,并声明长度为人数的数组
Scanner input = new Scanner(System.in);
System.out.println("请输入人数:");
int renCount = input.nextInt();
int rens[] = new int[renCount];
for (int i = 0; i < rens.length; i++) {
rens[i] = i+1;
}
//定义两个变量 count(用于累加存储第三个人),index(循环索引)
int count =0;
int index =0;
while(renCount>1) {
//不是置零的,继续数数
if(rens[index]!=0) {
count++;
if(count==3) {
//累加到3清零
count =0;
//把数到3的置零
rens[index]=0;
//人数减一,去掉一人
renCount--;
}
}
index++;
if(index==rens.length) {
index = 0;
}
}
for (int i = 0; i < rens.length; i++) {
if(rens[i]!=0) {
System.out.printf("原来排在第"+(i+1)+"个位置的人留下了。");
break;
}
}
}
有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数), 凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
最新推荐文章于 2022-03-31 22:56:54 发布