41人被困山洞,约瑟夫用数学方法杀掉39人后投降,他如何做到的?

  41人被困山洞,约瑟夫用数学方法杀掉39人后投降,他如何做到的?

  作者:科学信仰

  数学不仅是一门强大的理论科学,在现实之中更是有着广泛的应用,比如古罗马时期的一位历史学家就曾经利用数学方法杀掉了他的士兵,最终成功投降得以存活。

  这位历史学家名为弗拉维奥·约瑟夫斯,因其利用数学方法杀掉同伴的事迹十分有名,后被数学界称为“约瑟夫问题”,所以我们后面就简称其为“约瑟夫”。约瑟夫是一名犹太历史学家,他曾经领导犹太人反对罗马帝国的严酷统治,并领导犹太人与罗马军队作战。

  

  一次,约瑟夫带领犹太人在一个要塞与罗马军队战斗,坚守了长达47天,终因寡不敌众而失守,约瑟夫不得已带领士兵逃跑,但却被罗马军队赶上并围困于一个山洞之中。

  此时,包括约瑟夫在内,山洞中一共有41个人,约瑟夫想要向罗马军队投降,可他的士兵却视死如归、群情激奋,纷纷表示宁可自杀,也绝不向罗马军队投降。约瑟夫一看这种情形,如果自己此刻表示出投降的意愿,肯定会被愤怒的士兵们杀死。怎么办?有没有什么办法能够实现自己投降的目的呢?

  

  约瑟夫对他的士兵说:我们不能自杀,因为自杀不符合犹太人的传统,但我们可以让旁边的人帮忙。

  约瑟夫让所有人围成一个圈,让每一个人按照顺时针的顺序杀掉他旁边的人,比如1号杀掉2号,3号杀掉4号,5号杀掉6号……以此类推,这样一轮下来就杀掉了一半的人,接下来还是如法炮制,41号杀掉3号,5号杀掉7号,9号杀掉11号……以此类推,就这样一轮一轮下来,最后只会剩下一个人,这个再自杀就好了。士兵们都觉得约瑟夫的办法好,于是纷纷照做。

  

  现在问题来了,按照这种方法,最后只会剩下来一个人,那么如何能够保证自己就是最后剩下来的这个人的?

  约瑟夫思考发现,最后剩下来的是几号,这与总共参与游戏的人数多少有着密切的关系,如果只有一个人参与,那么剩下来的自然就是1号自己,如果有两个人参与,1号杀掉2号,剩下来的还是1号,如果有三个人参与,1号杀掉2号,3号杀掉1号,于是剩下来的就是3号,如果有四个人参与,1号杀掉2号,3号杀掉4号,一轮结束,然后又是1号杀掉4号,剩下来的还是1号。

  

  幸存者的序号与参与人数的多少有关,那么其中有没有什么规律可循呢?有的,而且约瑟夫完全洞悉了其中的规律。

  如果参与的人数为2的n次幂,那么最后的幸存者就一定是1号,比如参与的总人数为1人、2人、4人、8人、16人、32人、64人时,最后的幸存者都是1号。不过现在山洞里的总人数是41人,并不是2的n次幂,怎么办呢?当总人数不满足2的n次幂时,一样存在着规律,这个规律就是:如果总人数为2的n次幂+a,那么最后的幸存者序号就一定是2a+1。

  

  举个例子,如果参与的人数为10人,换算成2的n次幂+a的形式就是8+2,所以a是2,那么2a+1就等于5,所以最后剩下的一定是5号。

  现在山洞里剩余41人,换算成2的n次幂+a的形式就是32+9,所以a是9,那么2a+1就等于19,于是约瑟夫站在了第19号位置上。果然,在几轮过后,39个人被杀死了,只剩下了约瑟夫和另外一名士兵,此时轮到约瑟夫杀这名士兵了,但约瑟夫没有这么做,他劝服了这名士兵,最后两个人一起向罗马军队投降了。

版权声明:本站部分图文转自网络,刊登本文仅为传播信息之用,绝不代表赞同其观点或担保其真实性。若有来源标注错误或侵犯了您的合法权益,请作者持权属证明与本网联系,我们将及时更正、删除,谢谢。