首页 > 试题广场 >

33人围成一圈,从1至N开始顺时针一直递增报数;报N者退出,

[单选题]
33人围成一圈,从1至N开始顺时针一直递增报数;报N者退出,下一位从1开始重新报数。当N为2时,最后留下者是第几人。假设最先报数的人编号是1,其他人编号按顺时针方向递增。( )

  • 7
  • 9
  • 3
  • 5
[1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33]
[3, 7, 11, 15, 19, 23, 27, 31]
[3, 11, 19, 27]
[3, 19]
[3]
发表于 2018-08-03 23:42:24 回复(0)
首先题目要求的是顺时针进行报数的,从1排到33;
另外设置了N为2;故在第一遍报数的时候就去掉了偶数,也就剩下了奇数;
然后在从33开始数1,再淘汰了1,5,9,13,17,21,25,29,;
再从31开始数1,淘汰了33,7,15,19,27;
在从3开始数1,淘汰了11;
最后就剩下了3没有被淘汰
所以答案是3
发表于 2017-08-23 17:41:30 回复(2)

1.先对33个数据进行编号排序,因为N=2,所以第一遍对于排序编号为偶数项的去除。

排序               [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33]

第一次去除:[1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33]

由于第一次排序后,数据为奇数个,所以最后一个(即33)报1,再来一轮时,第一个数(即1)为偶数个,即报号为2

2. 对第一次去除后的数据进行重报数

排序:             [1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33]     

第二次去除:  [3,7,11,15,19,23,27,31]

由于第二次排序的数字为偶数个,所以最后一个数(33)报数为2,则重新来一轮后,第一个数(即3)则报数为1

3. 对第二次去除后的数据进行重新报数

排序:             [3,7,11,15,19,23,27,31]

第三次去除:  [3,11,19,27]

由于第三次排序的数字为偶数个,所以最后一个数(31)报数为2,则重新来一轮后,第一个数(即3)则报数为1

4. 对第三次去除后的数据进行重新报数

排序:             [3,11,19,27]

第四次去除:  [3,19]

由于第四次排序的数字为偶数个,所以最后一个数(27)报数为2,则重新来一轮后,第一个数(即3)则报数为1

5. 对第四次去除后的数据进行重新报数

排序:             [3,19]

第四次去除:  [3]

由于第四次排序的数字为偶数个,所以最后一个数(19)报数为2,则重新来一轮后,第一个数(即3)则报数为1

因此最后留下者的编号为3


发表于 2019-07-13 16:45:20 回复(0)

看 【(总数-1)/2 】+1 是奇数还是偶数。奇数的话继续下去,直到算到偶数时,此时第一个数就是留到最后的数。

发表于 2019-05-08 09:30:06 回复(1)
因为每次都是淘汰一半人,所以2^n个人的时候,谁第一个报1谁留下。
本题中2号报2淘汰后剩余32个人,该3号报1,所以最终会剩下3号
发表于 2018-09-29 10:55:05 回复(1)
给一个秒解方法,具体数学有这道题的完全解析,这里我就不再赘述,感兴趣可以去看书,结论是n个人最后活下来的n的二进制向左一位循环位移,因为33的二进制是100001,向左循环位移一位就是000011,所以结果是3
发表于 2021-05-09 11:54:11 回复(1)
c
发表于 2019-04-27 14:56:01 回复(0)