猴王算法精简版 Python实现

这篇博客介绍了一个猴王算法的简化Python实现。算法描述了一群猴子围成圈,按照特定规则剔除猴子,最后剩下的一只为猴王。作者分享了用Python编写的代码,通过递归方式找出猴王,并给出了不同情况下猴王的结果。
摘要由CSDN通过智能技术生成

一个猴王算法,网上所列太过繁琐,问题很简单描述如下,

猴王算法 :一群猴子围成一圈,从某一只开始数,数到m只剔除之,

                        后面的接着从一开始数,数到m剔除之,依次类推,剩下的最后一只为猴王

因为刚学习了Python ,所以用她来编码,很优秀的编程语言哦

 

#!/usr/bin/python

# _*_ coding:UTF-8 _*_

# FileName: monkey.py

'''

Created on 2010-9-22

 

@author: wpjiyan Email:wpjiyan@163.com

'''

def getKingMonkey(mlist,m,index=1,debug=False):

    '''返回数组mlist中从第index项开始数的去除第m只的猴王算法

 

    mlist:猴子群组

    m    :去除第m只猴子

    index:从第几只开始数

 

    用要去除的第m只数和猴子数取模,加上要隔过的猴子数index,这样如果是从

    第index只开始数应该去除的就第mn只猴子,

    去除猴子后,这时mn如果比猴子数还大则说明下次要从第一只开始数,

    '''

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值