Youtube上一个讲解约瑟夫环问题的视频非常棒,很形象,很具体。视频提供了两种解法。
第一种:
n:是士兵的总数,a是不小于n情况下2的最大指数,l是剩余的士兵数,W(n)计算的就是士兵数为n的情况下最后幸存的士兵编号。
第二种:
二进制编码
士兵数为41,可以拆分为多个2的指数次方的和,然后将最高位移到最后,二进制计算得到的就是最后胜出的士兵编号。
视频地址,有兴趣的可以想办法看看(内地可能要翻墙):
约瑟夫环问题
Youtube上一个讲解约瑟夫环问题的视频非常棒,很形象,很具体。视频提供了两种解法。
第一种:
n:是士兵的总数,a是不小于n情况下2的最大指数,l是剩余的士兵数,W(n)计算的就是士兵数为n的情况下最后幸存的士兵编号。
第二种:
二进制编码
士兵数为41,可以拆分为多个2的指数次方的和,然后将最高位移到最后,二进制计算得到的就是最后胜出的士兵编号。
视频地址,有兴趣的可以想办法看看(内地可能要翻墙):
约瑟夫环问题