I*******g 发帖数: 7600 | 1 【 以下文字转载自 Military 讨论区 】
发信人: IFloating (Floating Freely), 信区: Military
标 题: 将军们, 再来做道题
发信站: BBS 未名空间站 (Sat May 20 14:02:51 2017, 美东)
监狱长把一群犯人排成圆圈,假设有1000人,id分别为 1,2,..., 1000.
监狱长决定从1号开始,每隔两个人就杀掉一个人,杀完了尸体拖走, 由于是首位相连
,这样一直杀下去
,直到最后一个人留下来不杀。
所以杀的顺序是3号, 6号, 9号。。。。。。
请问最后谁活下来啊? | B*Q 发帖数: 25729 | | l****y 发帖数: 4773 | 3 监狱长第一个死,1v1000
【在 B*Q 的大作中提到】 : 监狱长?
| f*****n 发帖数: 12752 | | j**********n 发帖数: 390 | 5 这种完全 scalable 的题, 10 人就可以了。
03, 06, 09
12, (14, 15), 17, (18, 20)
21, (24,25), 28, (30, 34)
35, (40, 44), 50, (54)
幸存者, 4号。 | m***n 发帖数: 581 | 6 用程序做的话,倒推法,很容易。
即,先一个人(最后剩下的),加一个被杀的,倒过来隔两下,再加一个,再倒过来隔
两下 ... 直到总人数为1000,最后一次倒过来隔两下(即把1,2号插在刚加的3号前面)
.
记住第一个人最后的序号即可。 | j**********n 发帖数: 390 | 7 26 人计数:
0c, 0f, 0i, 0l, 0o, 0r, 0u, 0x,
1a, 1e, 1j, 1n, 1s, 1w
2b, 2h, 2p, 2v,
3d, 3m, 3y,
4k, 4z,
5t,
7g,
幸存者, q, 17th. out of 26. |
|