java1.2.4十五个猴子围成一圈选大王,依次1-7 循环报数,报到7 的猴子被淘汰,直到最后一只猴子成为大王。问,哪只猴子最后能成为大王?(选择一个适当的集合)
时间: 2024-03-09 13:51:23 浏览: 94
可以使用Java语言来实现这个问题,同样可以使用一个集合来存储当前还在游戏中的猴子编号,然后按照题目要求进行模拟,最后得到剩下的那只猴子。具体实现如下:
```java
import java.util.*;
public class MonkeyKing {
public static void main(String[] args) {
Set<Integer> monkeys = new HashSet<>();
for (int i = 1; i <= 15; i++) {
monkeys.add(i);
}
int i = 1;
while (monkeys.size() > 1) {
int j = (i - 1) % monkeys.size() + 1;
Iterator<Integer> it = monkeys.iterator();
int k = 1;
while (k < j) {
it.next();
k++;
}
it.remove();
i++;
}
System.out.println(monkeys.iterator().next());
}
}
```
运行这个程序,可以得到结果为9,因此第9只猴子最后能成为大王。
阅读全文