今天来实现一个约瑟夫环算法,下面是一道新浪的面试题:
m只猴子围坐成一个圈,按顺时针方向从1到m编号。然后从1号猴子开始沿顺时针方向从1开始报数,报到n的猴子出局,再从刚出局猴子的下一个位置重新开始报数,如此重复,直至剩下一个猴子,它就是大王。设计并编写程序,实现如下功能:
(1)要求由用户输入开始时的猴子数m、报数的最后一个数n。
(2)给出当选猴王的初始编号。
这道题是典型的约瑟夫环问题,“猴子选大王”问题。
注意:本实例在python2.7下测试通过,未在python3下测试,有兴趣的同学可以到群里交流
《python input直接回车“猴子选大王” 算法 python实现》总结了关于python教程教程,对于我们来W WW.002pc .COM确实能学到不少知识。
直接上代码:#!/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。主要是因为这样可以利用字典的索引的优势
更多:python input直接回车“猴子选大王” 算法 python实现
https://www.002pc.comhttps://www.002pc.com/python/1586.html
你可能感兴趣的python,算法,猴子,大王,实现
php 字符串 longphp猴子选大王问题解决方法
本文实例讲述了php猴子选大王问题解决方法。分享给大家供大家参考。具体分析如下:
问题描述:
一群猴子排成一圈,按1,2,...,n依次编号。然后从第1只开始数,数到第m只,把它踢出圈,从它
js生成随机数的JavaScript中几种排序算法的简单实现
排序算法的实现
我的JS水平就是渣渣,所以我就用类似于JAVA和C的方式来写JavaScript的排序算法了。
而且这里我不讲算法原理,仅仅只是代码实现,可能会有Bug,欢迎大家博客评论指导
学习php多少钱PHP实现AES256加密算法实例
本文实例讲述了PHP实现AES256加密算法的方法,是较为常见的一种加密算法。分享给大家供大家参考。具体如下:电脑技术网对《学习php多少钱PHP实现AES256加密算法实例》总结来说,
js importantJS实现的计数排序与基数排序算法示例
本文实例讲述了JS实现的计数排序与基数排序算法。分享给大家供大家参考,具体如下:学习电脑网对《JS实现的计数排序与基数排序算法示例》总结来说,为我们企业网站建设很实用。
js12f价格JavaScript实现的一个计算数字步数的算法分享
这两天看了下某位大神的github,知道他对算法比较感兴趣,看了其中的一个计算数字的步数算法,感觉这个有点意思,所以就自己实现了一个。
算法描述与实现原理
给出一个整型数字
每天签到 phpphp 二维数组快速排序算法的实现代码
php 二维数组快速排序算法的实现代码
二维数组排序算法与一维数组排序算法基本理论都是一样,都是通过比较把小的值放在左变的数组里,大的值放在右边的数组里在分别递归。
实
sublime能写php吗PHP编程实现计算抽奖概率算法完整实例
本文实例讲述了PHP编程实现计算抽奖概率算法。分享给大家供大家参考,具体如下:
php时间格式转时间戳PHP实现机器学习之朴素贝叶斯算法详解
本文实例讲述了PHP实现机器学习之朴素贝叶斯算法。分享给大家供大家参考,具体如下:
机器学习已经在我们的生活中变得随处可见了。比如从你在家的时候温控器开始工作到智能汽车
0踩
赏
0 赞