黑马程序员技术交流社区

标题: 求解求解!!!! [打印本页]

作者: yangben    时间: 2016-5-29 10:46
标题: 求解求解!!!!
有100个人围成一个圈,从1开始报数,报到14的这个人就要退出。然后其他人重新开始,从1报数,到14退出。问:最后剩下的是100人中的第几个人?

作者: 逝水大魔王    时间: 2016-5-29 11:21
import java.util.ArrayList;

public class caonimabi {
        public static void main(String[] args) {
                /*
                 * 有100个人围成一个圈,从1开始报数,报到14的这个人就要退出。然后其他人重新开始,从1报数,到14退出。
                 * 问:最后剩下的是100人中的第几个人?
                 */
                ArrayList<Integer> al = new ArrayList<>();
                for (int i = 1; i <= 100; i++) {
                        al.add(i);
                }
               
                        int temp = 0;
                        for (int i = 0; i < al.size(); i++) {
                                temp++;
                                if (temp == 14) {
                                        al.remove(i);
                                        i--;
                                        temp = 0;
                                }
                                if (i + 1 == al.size()) {
                                        //因为回到循环中i就要++;
                                        i = -1;
                                }
                                if (al.size() == 1) {
                                        break;
                                }
                        }
                        System.out.println(al);
               
        }
}





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2