python猴子选大王讲解_“猴子选大王”算法python实现
今天来实现一个约瑟夫环算法,下面是一道新浪的面试题:
m只猴子围坐成一个圈,按顺时针方向从1到m编号。然后从1号猴子开始沿顺时针方向从1开始报数,报到n的猴子出局,再从刚出局猴子的下一个位置重新开始报数,如此重复,直至剩下一个猴子,它就是大王。设计并编写程序,实现如下功能:
(1)要求由用户输入开始时的猴子数m、报数的最后一个数n。
(2)给出当选猴王的初始编号。
这道题是典型的约瑟夫环问题,“猴子选大王”问题。
注意:本实例在python2.7下测试通过,未在python3下测试,有兴趣的同学可以到群里交流
直接上代码:#!/usr/bin/python
# coding=utf-8
# 约瑟夫环算法 之 猴子选王 问题
def king(m,n):
dd = {}
#生成一个字典
p = 1
while(p<=m):
dd[p] = p
p = p+1
j = 1
while(len(dd) >1):
for k,v in dd.items():
if(j == n):
del dd[k]
j = 1
else:
j = j+1
return dd
print king(6,2)
注意:这里用到了字典,而不是list。主要是因为这样可以利用字典的索引的优势
本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉
本文系统来源:php中文网
python猴子选大王讲解_“猴子选大王”算法python实现相关推荐
- 数据结构python语言描述课后答案_《数据结构与算法Python语言描述》习题第二章第三题(python版)...
1 #!/usr/bib/env python 2 #-*- coding:utf-8 -*- 3 4 """ 5 ADT Rational: #定义有理数的抽象数据类型 ...
- 100个python算法超详细讲解:猴子吃桃
[100个python算法超详细讲解]@谷哥技术 1.问题描述 一个猴子摘了一些桃子,它第一天吃掉了其中的一半然后再多吃了 一个,第二天照此方法又吃掉了剩下桃子的一半加一个,以后每天如 此,直到第十天 ...
- python复杂网络点图可视化_数据分析:R与Python怎么选?
作者介绍 知春里@伟仔 不知名数据科学家. 持续写<数据分析>和<数据产品>的系列文章,欢迎关注. 01 选R还是Python? "球鞋是买阿迪还是买耐克?" ...
- java写猴子偷桃问题_猴子偷桃是什么意思
满意答案 xucw111 2013.04.02 采纳率:42% 等级:11 已帮助:8003人 从字面意思理解就是猴子偷桃子涩!从引申意来讲这个问题就有点严肃了. 从前,有一个美丽的小村庄,名字 ...
- python公开课乐博学院_当我学完 Python ,我学会了些什么【乐搏TestPRO】
本文是本人学完Python后的一遍回顾,加深理解顺便留作手册以备查阅. 学习Python的这几天来,觉得Python还是比较简单,容易上手的,就基本语法而言,但是有些高级特性掌握起来还是有些难度,需要 ...
- python快速编辑入门答案_太惨!学Python方法用错,直接从入门到放弃!
原标题:太惨!学Python方法用错,直接从入门到放弃! 从你开始学习编程的那一刻起,就注定了以后所要走的路-从编程学习者开始,依次经历实习生.程序员.软件工程师.架构师.CTO等职位的磨砺:当你站在 ...
- python是语言还是软件_程序开发语言之Python:是追逐还是坚守?
Python作为计算机程序设计语言的其中一种,最初是被设计用于编写自动化脚本(shell),随着版本的不断更新.语言新功能的添加和机器学习的兴起,Python从2017年开始受到广泛关注. Pytho ...
- python中流程图的基本元素_面试干货:成为Python程序员的终极指南!(内附回答)...
科技行业正以前所未有的速度增长.我们看到市场上发布了新的软件产品. 无论您是初学者还是经验丰富的Python开发人员,机会都是非常多的,如何把握?. 唯一的要求:必须在Python编程面试中使用您的技 ...
- 用python实现二分法求平方根_二分法求平方根(Python实现)
使用二分法(Bisection Method)求平方根. def sqrtBI(x, epsilon): assert x>0, 'X must be non-nagtive, not ' + ...
最新文章
- ACM程序设计选修课——1030: Hungar的时尚球场(水题+耐心)
- 前端dashboard框架_微前端在网易七鱼的实践
- PHP7中php.ini、php-fpm和www.conf的配置
- R语言paste函数
- java 用户控件_C#自定义控件VS用户控件
- Dijkstra算法图文详解和C++代码
- 【机器学习】Softmax Regression算法原理与java实现
- iOS获取音频设备信息
- 百度之星1004度度熊的午饭时光
- IDEA java 调用 webservice接口
- 5G网络架构 — 接入网/传输网/核心网
- 计算机网络 中 网络层
- 王宝强代言计算机学校,《破晓屠龙》王宝强代言传奇游戏电脑手机都能玩
- 【19调剂】华南师范大学脑科学与康复医学研究院2019年拟接收学术型研究生调剂信息...
- python相关pyc文件的编译、运行和反编译
- 走向云计算之HBase模式设计及表设计案例
- DEJA_VU3D - Cesium功能集 之 090-台风过境实时动画
- 金刚java_KgHost
- 德国著名的五位数学家
- Mysql和 ClickHouse计算时间函数的差值的区别(dateDiff和TIMESTAMPDIFF)