python-约瑟环问题
约瑟环问题:有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-约瑟环问题相关推荐
- 约瑟环的python实现(举例说明)
题目是: N个人围成一圈报数,报到某一个数m的就出局,问你最后剩下来的人的号码? 网上通用约瑟夫环的算法是: //函数接收n和m,返回最后出圈的是第几个人 /*e.g. yuesefu(5,2)=3 ...
- c/c++常用算法(14) -- 经典数据结构(约瑟环夫问题)
一.简单的约瑟环夫 1.故事描述: 据说著名犹太历史学家 Josephus有过以下的故事:在罗马人占领乔塔帕特后,39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被 ...
- Josephus约瑟环问题
约瑟环问题描述:n个人有序围成一圈报数,报到M的就退(自)出(杀),再从头开始报数,由此循环,求剩下最后一人的序号. 第一种直觉的想法是弄个list循环: int Josephus(unsigned ...
- 约瑟环问题 Java解法
约瑟环问题: 17世纪的法国数学家加斯帕在<数目的游戏问题>中讲的一个故事,15个教徒和15个非教徒在深海上遇险,必须将一半的人投入海中,其余的人才能幸免于难,于是想了一个办法,30个人围 ...
- 约瑟环问题(全部代码在本文下方)
用循环链表编程实现约瑟夫问题,n个人围成一圈,从某人开始报数1,2,.., m,数到m的人出圈,然后从出圈的下一个人(m+1)开始重复此过程,直到全部人出圈,于是得到一个出圈人员的新序列,如当n=8, ...
- 约瑟环问题JAVA(数组)
所有人围成一圈,顺序排号.从第一个人开始报数(从 1 到 3 报数), 凡报到 3 的人退出圈子,剩下的人继续报数,最后留下的当选为队长. 请你通过编写程序,求出一组人中的队长是原来第几位同学.(约瑟 ...
- Offer 62. 约瑟环(规律问题-递归-中等)
Offer 62. 圆圈中最后剩下的数字 思路1:⭐ 创建一个下标为 0~n-1的数组 | 当n=5时 nums = [1 1 1 1 1] 代表下标为i的数是否已经被删除⭐ 通过不断(外层设置一个循 ...
- 约瑟环c语言,顺序表实现约瑟环的问题,C语言.doc
计算机科学与工程学院 <算法与数据结构>试验报告[一] 专业班级 10级计算机工程02 试验地点 计算机大楼计工教研室 学生学号 1005080222 指导教师 蔡琼 学生姓名 肖宇博 试 ...
- 约瑟环c语言,数据结构C语言 约瑟环问题 谢谢大家 一定要AC呀
满意答案 shadow88kia 2013.11.12 采纳率:50% 等级:12 已帮助:4173人 这是我以前的约瑟夫问题,输入输出稍微不一样. #include #include type ...
- 猴子选大王(约瑟环问题)
输入 输入两个整数n,m (1<=m,n<=100) 输出 输出一行n个整数,按顺序输出每个出圈人的编号 样例输入 10 3 样例输出 3 6 9 2 7 1 8 5 10 4 #incl ...
最新文章
- 第四周实践项目4 建立算法库——双链表
- linux驱动程序是什么,简述一个Linux驱动程序的主要流程与功能
- C语言 一个字符常量占几个字节
- valgrind-3.11.0 交叉编译
- linux文件和目录管理指令,Linux 命令(文件和目录管理 - cat)
- 深度学习(六)——CNN进化史
- Web程序员的Mysql进阶序一之sql使用分类及基础
- jq校验输入框值变化时_谈谈自己对CRC校验的理解
- 主动学习(Active Learning)领域部分经典论文汇总
- 兔子--R.java丢失原因及解决的方法
- 伍德里奇计量经济学第四章课后计算机作业,伍德里奇---计量经济学第4章部分计算机习题详解(MATLAB).pdf...
- 关于so文件你需要知道的知识
- Java服务器环境搭建(JDK+TOMCAT)
- 阿里云商标注册入口/查询/买卖/分类表/撤三/续展/驳回复审入口汇总一键直达
- C++ 模板的显示具体化
- 华为手机开源内核代码
- 教你如何使用SwipeRefreshLayout来构建一个上拉加载下拉刷新框架
- 文本相似度的那些算法
- 计算机求职简历考试题题大学,大学计算机基础上机实验指导与习题,word的设计性实-个人简历.docx...
- 我的世界未能从服务器注册表数据,【经验之谈】“User Profile Service 服务未能登录,无法加载用户配置文件”实战历程...