java用数组猴子选大王问题。有10个猴子围成一圈,按顺序排号,从第一只猴 子开始报数(从1到3报数),凡报到3的猴子退出圈外,以此规则进行,最后剩下的一只猴子即为大王。
时间: 2023-12-27 11:49:38 浏览: 35
```
public class MonkeyKing {
public static void main(String[] args) {
int n = 10; // 猴子总数
int[] monkeys = new int[n]; // 猴子数组,用于记录猴子是否还在圈内
for (int i = 0; i < n; i++) {
monkeys[i] = 1; // 所有猴子初始都在圈内
}
int count = 0; // 报数器
int index = 0; // 猴子数组下标
int remain = n; // 剩余猴子数
while (remain > 1) { // 只剩一只猴子时结束循环
if (monkeys[index] == 1) { // 如果猴子还在圈内
count++; // 报数
if (count == 3) { // 报到3
count = 0; // 重置报数器
monkeys[index] = 0; // 离开圈外
remain--; // 剩余猴子数减1
}
}
index++; // 下一只猴子
if (index == n) { // 已经到最后一只猴子,重新开始报数
index = 0;
}
}
for (int i = 0; i < n; i++) { // 找到最后剩下的那只猴子
if (monkeys[i] == 1) {
System.out.println("大王是第" + (i + 1) + "只猴子");
break;
}
}
}
}
```
运行结果:
```
大王是第5只猴子
```
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![py](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)