约瑟夫幸存的问题,设有n个人围在一起从1到3报数,报到3的kill掉,下一个人再重新从1开始报数,以此轮回,直到最后只剩一个人的时候,游戏结束,该幸存者获得释放。
编程思路:将这n个人的序号存放在一个一维数组中,并将其元素值全部置为1,1表示生存,如果报到3,则将1置为0,表示被kill掉,n=n-1,用一个while循环,直到最后剩下一个人。
程序代码如下:
约瑟夫幸存的问题,设有n个人围在一起从1到3报数,报到3的kill掉,下一个人再重新从1开始报数,以此轮回,直到最后只剩一个人的时候,游戏结束,该幸存者获得释放。
编程思路:将这n个人的序号存放在一个一维数组中,并将其元素值全部置为1,1表示生存,如果报到3,则将1置为0,表示被kill掉,n=n-1,用一个while循环,直到最后剩下一个人。
程序代码如下: