这篇文章主要介绍“如何用算法创作猴子选王游戏问题”,在日常操作中,相信很多人在如何用算法创作猴子选王游戏问题问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何用算法创作猴子选王游戏问题”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
问题描述
一群猴子围成一圈,按1,2,3,…,m依次编号。
然后从第1只开始数,数到第n只,把它剔出去,再重新开始数,
如此不停的进行下去,最后剩下的那只就是大王。
解决方案
题目分析:本题的核心思路是一个约瑟夫环算法,在一开始利用while循环将猴子一只一只取出来用i标号,再将i判断是不是为要剔除的数字,不剔除就加入一个新的列表等待下一次循环,并且将i继续加1,一直循环到只有最后一只猴子为止.
def king(m, n): lt = list(range(1, m+1)) i = 0 while len(lt) > 1: monkey = lt.pop(0) i += 1 if i == n: i = 0 else: lt.append(monkey) return lt[0] m = int(input('请输入猴子的总数:')) n = int(input('请输入n的值:')) print(king(m, n)) |
到此,关于“如何用算法创作猴子选王游戏问题”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。