组卷题库 > 高中信息技术试卷库
试题详情
临近年关,学校为活跃新年气氛,举办迎新年联欢活动,最后一个节目为“我是大赢家”抽奖活动,为增强互动效果,最后中大奖的中奖者由教师们自己互动产生,游戏规则是:全校所有教工,每人获得一个随机编号,编号不得复,然后按照编号大小顺时针手拉手围成一个圈,最后一个老师与第一个老师手拉手,接下来由第1个人指定m的值,从编号为1的人开始报数(1,2,3…),报到m的人出圈,不再参加互动游戏,接着再由出圈人的上一位老师新指定m的值,并重新开始报数,逆时针报到m的人出列,游戏过程中出圈的人由老师们自己决定,如此继续,顺时针出一个人,逆时针出一个人,直到圈中只剩下一个人,他就是今天的最大赢家。小明编写了一个Python程序实现上述功能,程序运行时,输入参加游戏的人数,每次有人出圈后,再输入下一个要出圈的人数。

#删除索引为P的游戏者

defdelete(a,head,p):

    if a[p][1]!=-1:

        a[a[p][1]][2]=a[p][2]

        if a[p][2]!=-1:

            

    if head==p:

        head=a[head][2]

    return head

n=int(input("请输入参数游戏的人数"))

a=[[i+1,i-1,i+1]

for i in range(n)]

    a[0][1]=n-1

    a[n-1][2]=0

    p=head=0

while:

    m=int(input("请输入顺时针数第几位人出局"))

for i in range(m-1):

   

    head=delete(a,head,p)

    p=a[p][1]     #退回到上一位游戏者

    if a[head][1]!=head:

        m=int(input("请输入逆时针数第几位人出局"))

        for i in range(m-1):

            p=a[p][1] head=delete(a,head,p)

          #退回到上一位游戏者

print (a[head]

知识点
参考答案
采纳过本试题的试卷
教育网站链接