黑马程序员技术交流社区
标题:
测试题十
[打印本页]
作者:
AlphaCC
时间:
2016-3-6 15:04
标题:
测试题十
/**
* 有100个人围成一个圈,从1开始报数,报到14的这个人就要退出。
* 然后其他人重新开始,从1报数,到14退出。
* 问:最后剩下的是100人中的第几个人?
* @author caich
*
*/
public class Test10 {
public static void main(String[] args) {
//创建一个集合all,集合中的元素为1,2,3,……,100,代表所有人
List<Integer> all = new LinkedList<Integer>();
for(int i = 1; i <= 100; i++) {
all.add(i);
}
int i = 0; //i表示退出的那个人在all集合中的下标
//循环99次
for(int n = 1; n < 100; n++) {
//每次循环时,求得将要退出的人在集合中的下标
i = (i + 13) % all.size();
//将集合中代表该人的元素删除
all.remove(i);
}
//循环99次,删除99个人,剩下的最后一个,就是你了
System.out.println("最后剩下的是第 " + all.get(0) + "号!");
}
}
作者:
miaodian
时间:
2016-3-6 22:07
楼主 知道 哪里有基础题的链接吗
作者:
AlphaCC
时间:
2016-3-6 22:12
这是我做入学测试题,不过论坛里有人分享过着写,我看能不能找到
作者:
AlphaCC
时间:
2016-3-6 22:17
miaodian 发表于 2016-3-6 22:07
楼主 知道 哪里有基础题的链接吗
没有找到,你自己找一下
作者:
miaodian
时间:
2016-3-6 22:22
嗯 ,好的 ,不过 ,刚才 我也找了,也没有 找到
作者:
kaiting
时间:
2016-3-7 08:19
感觉这个很高大上
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2