约瑟环问题:有n个人围成一圈,从1开始按顺序编号,从第一个人开始从1到k报数,报到k的人退出圈子;然后圈子缩小,从下一个人继续游戏,问最后留下的是原来的第几号。

编写程序,模拟上述游戏,要求初识人数n和报数临界值k可以自由指定。运行程序并观察游戏进行过程(请使用列表完成)。

代码如下:

x=input("请输入人数n以及报数临界值k:")
n,k=map(int,x.split(' '))
num=[i for i in range(1,n+1)]
flag=0
count=0
while len(num)!=1:for i in num:flag+=1if flag == k:flag=1count+=1num.remove(i)print("At time [{0}]: {1} out {2}".format(count,num,i))
print("The final one is ",num)

运行结果:

这里需要注意的是:

1.从键盘输入值时,如果输入多个值用空格分隔,可以使用.split(‘ ‘)函数将其根据空格分割,若使用其他符号,该函数参数即是该符号,再通过map函数转换即可,这一方法对于多输入较为方便;

2.将某一元素从列表中删除,可以使用list.remove()函数,是删除首次出现需要删除的元素,该题中需要注意将元素删除后,后面的元素会往前移一个,因此,重置flag参数的值应设为1;

python-约瑟环问题相关推荐

  1. 约瑟环的python实现(举例说明)

    题目是: N个人围成一圈报数,报到某一个数m的就出局,问你最后剩下来的人的号码? 网上通用约瑟夫环的算法是: //函数接收n和m,返回最后出圈的是第几个人 /*e.g. yuesefu(5,2)=3 ...

  2. c/c++常用算法(14) -- 经典数据结构(约瑟环夫问题)

    一.简单的约瑟环夫 1.故事描述: 据说著名犹太历史学家 Josephus有过以下的故事:在罗马人占领乔塔帕特后,39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被 ...

  3. Josephus约瑟环问题

    约瑟环问题描述:n个人有序围成一圈报数,报到M的就退(自)出(杀),再从头开始报数,由此循环,求剩下最后一人的序号. 第一种直觉的想法是弄个list循环: int Josephus(unsigned ...

  4. 约瑟环问题 Java解法

    约瑟环问题: 17世纪的法国数学家加斯帕在<数目的游戏问题>中讲的一个故事,15个教徒和15个非教徒在深海上遇险,必须将一半的人投入海中,其余的人才能幸免于难,于是想了一个办法,30个人围 ...

  5. 约瑟环问题(全部代码在本文下方)

    用循环链表编程实现约瑟夫问题,n个人围成一圈,从某人开始报数1,2,.., m,数到m的人出圈,然后从出圈的下一个人(m+1)开始重复此过程,直到全部人出圈,于是得到一个出圈人员的新序列,如当n=8, ...

  6. 约瑟环问题JAVA(数组)

    所有人围成一圈,顺序排号.从第一个人开始报数(从 1 到 3 报数), 凡报到 3 的人退出圈子,剩下的人继续报数,最后留下的当选为队长. 请你通过编写程序,求出一组人中的队长是原来第几位同学.(约瑟 ...

  7. Offer 62. 约瑟环(规律问题-递归-中等)

    Offer 62. 圆圈中最后剩下的数字 思路1:⭐ 创建一个下标为 0~n-1的数组 | 当n=5时 nums = [1 1 1 1 1] 代表下标为i的数是否已经被删除⭐ 通过不断(外层设置一个循 ...

  8. 约瑟环c语言,顺序表实现约瑟环的问题,C语言.doc

    计算机科学与工程学院 <算法与数据结构>试验报告[一] 专业班级 10级计算机工程02 试验地点 计算机大楼计工教研室 学生学号 1005080222 指导教师 蔡琼 学生姓名 肖宇博 试 ...

  9. 约瑟环c语言,数据结构C语言 约瑟环问题 谢谢大家 一定要AC呀

    满意答案 shadow88kia 2013.11.12 采纳率:50%    等级:12 已帮助:4173人 这是我以前的约瑟夫问题,输入输出稍微不一样. #include #include type ...

  10. 猴子选大王(约瑟环问题)

    输入 输入两个整数n,m (1<=m,n<=100) 输出 输出一行n个整数,按顺序输出每个出圈人的编号 样例输入 10 3 样例输出 3 6 9 2 7 1 8 5 10 4 #incl ...

最新文章

  1. 第四周实践项目4 建立算法库——双链表
  2. linux驱动程序是什么,简述一个Linux驱动程序的主要流程与功能
  3. C语言 一个字符常量占几个字节
  4. valgrind-3.11.0 交叉编译
  5. linux文件和目录管理指令,Linux 命令(文件和目录管理 - cat)
  6. 深度学习(六)——CNN进化史
  7. Web程序员的Mysql进阶序一之sql使用分类及基础
  8. jq校验输入框值变化时_谈谈自己对CRC校验的理解
  9. 主动学习(Active Learning)领域部分经典论文汇总
  10. 兔子--R.java丢失原因及解决的方法
  11. 伍德里奇计量经济学第四章课后计算机作业,伍德里奇---计量经济学第4章部分计算机习题详解(MATLAB).pdf...
  12. 关于so文件你需要知道的知识
  13. Java服务器环境搭建(JDK+TOMCAT)
  14. 阿里云商标注册入口/查询/买卖/分类表/撤三/续展/驳回复审入口汇总一键直达
  15. C++ 模板的显示具体化
  16. 华为手机开源内核代码
  17. 教你如何使用SwipeRefreshLayout来构建一个上拉加载下拉刷新框架
  18. 文本相似度的那些算法
  19. 计算机求职简历考试题题大学,大学计算机基础上机实验指导与习题,word的设计性实-个人简历.docx...
  20. 我的世界未能从服务器注册表数据,【经验之谈】“User Profile Service 服务未能登录,无法加载用户配置文件”实战历程...

热门文章

  1. 玩转B站营销!品牌投放推广5个核心策略
  2. 计算机考证需要花钱学吗
  3. 哈哈哈哈 (外一则)
  4. mysql求女生人数_Mysql版sql语句练习50题(小结)
  5. **Unity开发日志——使用 LineRenderer 绘制虚线**
  6. 一个文件管理系统的软硬件配置清单
  7. cookie实现京东五星好评组件评分数据存储
  8. HackTheBox | Previse
  9. 课程设计项目——基于3D建模技术的车位在线销售平台(移动端)
  10. What Is EBITA ?