一个猴王算法,网上所列太过繁琐,问题很简单描述如下,
猴王算法 :一群猴子围成一圈,从某一只开始数,数到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如果比猴子数还大则说明下次要从第一只开始数,
'''