- import java.util.ArrayList;
- import java.util.Iterator;
- /**
- * 10、有100个人围成一个圈,从1开始报数,报到14的这个人就要退出。然后其他人重新开始,从1报数,到14退出。 问:最后剩下的是100人中的第几个人?
- */
- public class CopyOfTest10 {
- public static void main(String[] args) {
- ArrayList<Integer> al = new ArrayList<Integer>();
- for (int x = 1; x <= 100; x++) {
- al.add(x);
- }
- int count = 0;
- while (al.size() > 1) {
- Iterator<Integer> it = al.iterator();
- while (it.hasNext()) {
- count++;
- int n=it.next();[color=Red]//这行注释掉就会有异常,为什么啊?[/color]
- if (count % 14 == 0) {
- it.remove();
- }
- }
- }
- System.out.println("最后剩下的是第" + al.get(0) + "人");
- }
- }
复制代码 |
|