趣味算法------约瑟夫环


目录

问题概述:

问题解析:

图文示意:

处决开始:

 

第一轮结束:

 第二轮结束:

最后一轮:

寻找规律:

最终思路:

具体代码:

总结:


问题概述:

        在犹太战争期间,约瑟夫与多名犹太士兵被困在一个洞穴中,面临被罗马军队俘虏的危险。为了避免成为罗马人的奴隶,士兵们决定由顺时针从第一个人开始处决他旁边的人,下一个人再处决他旁边的人,直到剩最后一个人自尽。但是约瑟夫想向罗马人投降,但是他也不敢暴露自己的想法,最后约瑟夫通过数学计算,找到了一个可以让他成为最后幸存者的位置,从而避免了死亡的命运。那么假设一共有n个人,约瑟夫应该站在第几个人的位置才能活到最后。


问题解析:

        假设现在有 8 个人,编号分别为1~8现在由第一个位置上人处决第二个位置上的人,再由第三个人处决第四个人,第一圈后还剩 1 3 5 7。然后继续 1 处决 3, 5 处决 7,还剩 1 , 5,最后 1处决 5。1活到最后。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值