import java.util.ArrayList;
/*
* 第九题:有100个人围成一个圈,从1开始报数,报到14的这个人就要退出。然后其他人重新开始,
* 从1报数,到14退出。问:最后剩下的是100人中的第几个人?
*/
public class Test9 {
// 定义数字集合,存放1-100数字
static ArrayList<Integer> list = new ArrayList<>();
static int count=0;
public static void main(String[] args) {
//循环存入数字
for (int i = 1; i < 101; i++) {
list.add(i);
}
//System.out.println(list);
//定义一个递归方法当第14个人时,将其移出并打印最后一人
print();
}
private static void print() {
for (int i = 0; i < list.size(); i++) {
if (list.size()==1) {
System.out.println(list.get(i));
}else if (list.size()<14) {
if (i==list.size()-1) {
print();
count++;
}
}else if(i%14==0||count%14==0){
list.remove(i);
print();
}else if (i==list.size()-1) {
print();
}
}
}
}
|
|