1.一圈人,手拉手围在一起.当前有500人.
2.从当前者数到三时,第三人退出,退回第二位,重新数.
3.数完500人,余下的最后一位是第几位.
public class Count3Quit{
public static void main(String[] args){
Boolean[] arr=new Boolean[500];
for(int i=0;i<arr.length;i++){
arr[i]=true;
}
int leftCount=arr.length;
int index=0;
int countNum=0;
while(leftCount>1){
if(arr[index]==true){
countNum++;
if(countNum==3){
countNum=0;
arr[index]=false;
leftCount--;
}
}
index++;
if(index==500){
index=0;
}
}
for(int i=0;i<arr.length;i++){
if(arr[i]==true){
System.out.println(i+1);
}
}
}
}
本文通过一个具体的程序实例,展示了如何解决一个特定的问题:当500人围成一圈并按规则淘汰玩家时,确定最后剩下的玩家位置。该程序使用布尔数组记录每个人的状态,并通过循环计数的方式实现了游戏规则。

被折叠的 条评论
为什么被折叠?



