码农们来做题吧:约瑟夫杀人事件
版主: hci
码农们来做题吧:约瑟夫杀人事件
说是有n个码农(这个n可能很大,可能有几个亿),排成1个圆圈。现在从1开始1,2报数,报到2的人就被杀了,现在问第k(1<=k<=n)个被杀的码农原来的排号是多少?别想用链表或者有序数组做循环,因为码农太多,会超时的。
听党中央话,跟习主席走
Re: 码农们来做题吧:约瑟夫杀人事件
条件不够吧?杀了一个之后,然后是从谁,从几开始数呢?
Rabboni 写了: 2022年 9月 2日 08:45 说是有n个码农(这个n可能很大,可能有几个亿),排成1个圆圈。现在从1开始1,2报数,报到2的人就被杀了,现在问第k(1<=k<=n)个被杀的码农原来的排号是多少?别想用链表或者有序数组做循环,因为码农太多,会超时的。
逼将有三种:老逼将,小逼将,装逼将
消灭买办是唯一出路
所谓女性解放,就是人类走向灭亡的开端
哈,狗子急了
消灭买办是唯一出路
所谓女性解放,就是人类走向灭亡的开端
哈,狗子急了
Re: 码农们来做题吧:约瑟夫杀人事件
温拿index = ceiling(log2n)
Rabboni 写了: 2022年 9月 2日 08:45 说是有n个码农(这个n可能很大,可能有几个亿),排成1个圆圈。现在从1开始1,2报数,报到2的人就被杀了,现在问第k(1<=k<=n)个被杀的码农原来的排号是多少?别想用链表或者有序数组做循环,因为码农太多,会超时的。
逼将有三种:老逼将,小逼将,装逼将
消灭买办是唯一出路
所谓女性解放,就是人类走向灭亡的开端
哈,狗子急了
消灭买办是唯一出路
所谓女性解放,就是人类走向灭亡的开端
哈,狗子急了
Re: 码农们来做题吧:约瑟夫杀人事件
2(n-2floor(log2n))
应该是这样吧,序号从0开始
应该是这样吧,序号从0开始
逼将有三种:老逼将,小逼将,装逼将
消灭买办是唯一出路
所谓女性解放,就是人类走向灭亡的开端
哈,狗子急了
消灭买办是唯一出路
所谓女性解放,就是人类走向灭亡的开端
哈,狗子急了
Re: 码农们来做题吧:约瑟夫杀人事件
差不多吧,虽然序列是从1开始的,所以应该减一。
如果用编程的话非常简单,就是把二进制的最高位移到最低位,譬如23,二进制是10111,高位移到低位就变成了1111,所以结果是15。
听党中央话,跟习主席走