约瑟夫问题是个有名的问题:N个人围成一圈,从第一个开始报数,第M个将被杀掉,最后剩下一个,其余人都将被杀掉。

代码:
// s是Python中下标值,可更改为从第s个下标值报数
// n为总人数,counts为指定报数字值
def Josephus(s, n, counts):count = 0; ind = s-1;arr = list(range(1,n+1)); ls = list()while any(arr):count+=1;ind+=1if count == counts: count = 0; ls.append(arr.pop(ind)); ind-=1if ind == len(arr)-1:ind = -1;if count == counts:count = 0; ls.append(arr.pop(ind))return ls
测试结果:
print(Josephus(s=0, n=8, counts=4))
// 输出为第i个人,1<=i<=n
[4, 8, 5, 2, 1, 3, 7, 6]

Python Josephus(约瑟夫问题)算法相关推荐

  1. Java实现Josephus约瑟夫环问题的算法

    Java实现Josephus约瑟夫环问题的算法 前言 语言:Java 环境:IntelliJ IDEA JDK版本:1.8 源码:GitHub 问题概述 N个人围成一圈,规定报数为M,第一个人从1开始 ...

  2. python中约瑟夫环程序_Python实现约瑟夫环问题的方法

    本文实例讲述了Python实现约瑟夫环问题的方法.分享给大家供大家参考,具体如下: 题目:0,1,...,n-1这n个数字排成一个圆圈,从数字0开始每次从这个圆圈里删除第m个数字.求出这个圆圈里剩下的 ...

  3. python解决约瑟夫问题_Python实现约瑟夫环问题的方法

    本文实例讲述了Python实现约瑟夫环问题的方法.分享给大家供大家参考,具体如下: 题目:0,1,...,n-1这n个数字排成一个圆圈,从数字0开始每次从这个圆圈里删除第m个数字.求出这个圆圈里剩下的 ...

  4. java实现约瑟夫环完整算法_Java简单实现约瑟夫环算法示例

    Java简单实现约瑟夫环算法示例 发布时间:2020-10-01 14:19:56 来源:脚本之家 阅读:104 作者:perfect亮 本文实例讲述了Java简单实现约瑟夫环算法.分享给大家供大家参 ...

  5. 约瑟夫环算法(JAVA)

    约瑟夫环算法(JAVA) 简介:约瑟夫环(约瑟夫问题)是一个数学的应用问题:已知n个人(以编号1,2,3-n分别表示)围坐在一张圆桌周围.从编号为k的人开始报数,数到m的那个人出列:他的下一个人又从1 ...

  6. Python版约瑟夫生者死者游戏

    Python版约瑟夫生者死者游戏(课设.小实验) 题目简介 算法思路(1循环,3判断) 流程图 参考代码(Python3,使用VS_Code编写) 题目简介 约瑟夫游戏的大意是:有30个旅客同乘一条船 ...

  7. c语言循环链表约瑟夫问题的时间复杂度,用单向循环链表解决约瑟夫问题算法优劣性分析.doc...

    用单向循环链表解决约瑟夫问题算法优劣性分析 用单向循环链表解决约瑟夫问题算法优劣性分析 摘要: 首先由简单问题引入约瑟夫问题,然后用单向循环链表解决约瑟夫问题,最后对模拟方法及数学方法的优劣性进行分析 ...

  8. Python版本的数据结构书_《用Python解决数据结构与算法问题》

    源于经典 数据结构作为计算机从业人员的必备基础,Java, c 之类的语言有很多这方面的书籍,Python 相对较少, 其中比较著名的一本 problem-solving-with-algorithm ...

  9. python实现洗牌算法_洗牌算法及 random 中 shuffle 方法和 sample 方法浅析

    对于算法书买了一本又一本却没一本读完超过 10%,Leetcode 刷题从来没坚持超过 3 天的我来说,算法能力真的是渣渣.但是,今天决定写一篇跟算法有关的文章.起因是读了吴师兄的文章 <扫雷与 ...

最新文章

  1. Mysql—(1)—
  2. 深度:语音技术革命正在改变人类的交流方式
  3. [其他]JAVA与C#的Socket通信
  4. QML 性能优化建议(二)
  5. Linux下tar命令简介
  6. 复习.net/c#时的小文章之万年草稿版 (全是基础概念,请懂的人绕行)
  7. php购物车(session)
  8. 会员体系架构的设计思路
  9. ubuntu系统DD对拷还原报废笔记本
  10. 五一惠州双月湾游,海滩,帐篷,野营,烧烤、篝火晚会
  11. list的交集,差集,并集
  12. HW RIPv2认证
  13. webpack5学习与实战-(八)-配置打包后的文件名
  14. Mujoco-二阶单摆建模与控制
  15. Proteus仿真:使用8255输出连续方波
  16. Windows用户名中文修改英文无感实现操作方法
  17. webservice和jms的区别
  18. ROC、PR曲线、AUC值
  19. Linux系统存储之LVM
  20. Chromium for mac(谷歌浏览器)V89.0.4336.0官方最新版

热门文章

  1. Mesh的Remote Provisioning
  2. UML学习——协作图
  3. 数字图像处理 张量分解的概念、发展及其应用
  4. Ble Mesh的Generic Model IDOpcode
  5. https://techjoy.tk
  6. 宏定义ALIAN实现字节对齐
  7. Verilog数字系统基础设计-扰码与解扰
  8. 木桶理论在现实中有什么指导意义
  9. 腾讯QQ第三方登录,测试账号使用。
  10. 解决mysql客户端执行插入中文数据命令出错以及中文乱码问题