【Python】猴子选大王
目录
- 猴子选大王
代码思路仅供参考,欢迎大家批评指正!
猴子选大王
一群猴子要选新猴王。新猴王的选择方法是:让N只候选猴子围成一圈,从某位置起顺序编号为1~N号。从第1号开始报数,每轮从1报到3,凡报到3的猴子即退出圈子,接着又从紧邻的下一只猴子开始同样的报数。如此不断循环,最后剩下的一只猴子就选为猴王。请问是原来第几号猴子当选猴王?
思路:
逐个删除退圈的猴子结点
删除结点的同时,指针/下标ptr前移一位,所以ptr为3=3-0、5=6-1、7=9-2、9=12-3
最后除余操作防止ptr溢出。
# By jurio.
N = int(input())idx = [i for i in range(1, N+1)]
ptr = 1
while len(idx) > 1:ptr += 2ptr = (ptr - 1) % len(idx) + 1idx.remove(idx[ptr - 1])print(idx[0])
【Python】猴子选大王相关推荐
- python猴子选大王_“猴子选大王” 算法 python实现
今天来实现一个约瑟夫环算法,下面是一道新浪的面试题: m只猴子围坐成一个圈,按顺时针方向从1到m编号.然后从1号猴子开始沿顺时针方向从1开始报数,报到n的猴子出局,再从刚出局猴子的下一个位置重新开始报 ...
- python猴子选大王讲解_python 【猴子选大王】算法示例
对python这个高级语言感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编两巴掌来看看吧! 今天来实现一个约瑟夫环算法,下面是一道新浪的面试题: m只猴子围坐成一个圈,按顺时针方向从1到m编 ...
- python猴子选大王讲解_“猴子选大王”算法python实现
今天来实现一个约瑟夫环算法,下面是一道新浪的面试题: m只猴子围坐成一个圈,按顺时针方向从1到m编号.然后从1号猴子开始沿顺时针方向从1开始报数,报到n的猴子出局,再从刚出局猴子的下一个位置重新开始报 ...
- Python 猴子选大王(约瑟夫环)算法
def KingElect(totalNum, startNum, intervalNum):'''猴子选大王totalNum:猴子总数tartNum:开始序号intervalNum:间隔数'''mo ...
- python猴子选大王_sicily 猴子选大王
题目描述 猴子选大王,有N只猴子,从1-N进行编号.它们按照编号的顺时针方向,排成一个圆圈,然后从第一只猴子开始报数.第一只猴子报1,以后每只猴子报的数字都是它前面猴子所报数字加1.如果一只猴子报的数 ...
- python猴子选大王讲解_关于猴子选大王的面试题
一群猴子排成一圈,按1,2,...,n依次编号.然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数,再数到第m只,在把它踢出去...,如此不停的进行下去,直到最后只剩下一只猴子为止,那只猴子 ...
- python猴子选大王_python-猴子选大王问题
一群猴子要选新猴王.新猴王的选择方法是:让N只候选猴子围成一圈,从某位置起顺序编号为1~N号.从第1号开始报数,每轮从1报到3,凡报到3的猴子即退出圈子, 接着又从紧邻的下一只猴子开始同样的报数.如此 ...
- python练习:猴子选大王
python题目:猴子选大王 题目内容: 一群猴子围成一圈,按1,2,3,-,m依次编号. 然后从第1只开始数,数到第n只,把它剔除圈,再重新开始数, 如此不停的进行下去,最后剩下的那只就是大王. 要 ...
- 猴子选大王(python)
猴子选大王 一群猴子要选新猴王.新猴王的选择方法是:让N只候选猴子围成一圈,从某位置起顺序编号为1~N号.从第1号开始报数,每轮从1报到3,凡报到3的猴子即退出圈子,接着又从紧邻的下一只猴子开始同样的 ...
- python解决猴子选大王问题:15个猴子围成一圈选大王,依次1-7循环报数,报到7的猴子被淘汰,直到最后一只猴子成为大王。问: 哪只猴子会成为大王 ?
话不多说,超级简单,直接上代码: ## 给猴子编号 AllMonkey = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]## 循环出栈 num ...
最新文章
- 估价范围还没有生产式的物料帐薄
- socket编程中的异常处理
- Java并发编程之ConcurrentHashMap
- MongoDB sharding模式实现(http://blog.chinaunix.net/xmlrpc.php?r=blog/articleuid=28266791id=5758139 )
- Quartz定时调度CronTrigger时间配置格式说明与实例
- 【英语学习】【Daily English】U01 Greetings / L02 What brings you here?
- java.io.file()_Java IO File (一)
- 棋盘问题 ( POJ -1321 )(简单DFS)
- python学习第25天
- ppt格式刷快捷键_15个PPT神操作,让老师做课件的效率翻倍!
- ad怎么批量改元器件封装_在AD软件中的PCB界面如何批量修改封装?
- pdf2docx:Python实现PDF转Word
- 结构梁配筋最牛插件_结构设计经验总结
- 微信小程序中播放视频 例子
- ubuntu 旺旺_Ubuntu 下通过Wine安装阿里旺旺并解决中文乱码
- 【Windows编程】系列第八篇:通用对话框
- 颜色透明度16进制对照表
- 怎么尽可能将pdf文件压缩到最小
- 阿里云服务器 API 的使用
- sap客户信贷_SAP信贷控制功能与配置详解