首页 > 编程语言 > 详细

python编程练习---约瑟夫环

时间:2021-01-19 19:46:39      阅读:25      评论:0      收藏:0      [点我收藏+]

游戏:10个人按1-10进行编号,围成一圈,从1开始报错,报到7的出队,下一个人从1开始重新报数,问最终剩下的人的编号

这个游戏是一个约瑟夫环问题,我们可以采用队列的形式来完成

from collections import deque

def jsonf(target, list):      #target目标值,list人员
    dq = deque(list)          #存入双端队列
    index = 0                 #初始化标记
    while len(dq) > 1:      #循环终止条件为剩余1个人
        temp = dq.popleft() #头部出队
        index += 1          #标记值自增
        if index == target: #标记值等于target
            index = 0       #归零
            continue        #下一轮
        else:               #标记值不等于target
            dq.append(temp) #头部出队的人从尾部入队
    return dq

python编程练习---约瑟夫环

原文:https://www.cnblogs.com/felixtester/p/14297906.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!