经验
一、1.要循环用到某些数字如1-3,要想到%的用法。
2.要去掉数组的某个元素又不想改变下标,就设置boolean[],将想删除的置为false。
一、循环报数游戏,有n个人,报数从1-3,每次报到3的人退出游戏,得到最后获胜人的编号(编号从0开始)
*/
public class practice {
public static void findmum(boolean arr[],int n){
int count =n;
for (int i = 0,j=0; true; ) {
if(arr[j]==true){
if ((i+1)%3==0){
arr[j]=false;
count--;
i++;
j=(j+1)%n;
}else {
i++;
j=(j+1)%n;
}
}else {
j=(j+1)%n;
}
if (count==1){
break;
}
}
for (int i=0;i<n;i++){
if (arr[i]==true){
System.out.println("最后一个编号是"+i);
}
}
}
public static void main(String[] args) {
System.out.println("请输入人数n");
Scanner scanner =new Scanner(System.in);
int n = scanner.nextInt();
boolean arr[] =new boolean[n];
for (int i=0;i <n;i++){
arr[i] = true;
}
findmum(arr,n);