编写程序,模拟报数游戏。有n个人围成一圈,顺序编号,从第一个人开始从1到k(假设k=3)报数,报到k的人退出圈子,然后圈子缩小,从下一个人继续游戏,问最后留下的是原来的第几号。

n=int(input("请输入总人数:n="))
k=int(input("请规定报到数字几的人退出圈子:k="))
circle=list(range(1,n+1))
print("游戏开始前的初始位置",circle)
num=1
i=1
while len(circle)!=1:circle.append(circle.pop(0)) #把已报数的人取出放到队尾,以此实现围成圈循环往复num+=1if num==k:del circle[0] #把报到规定数字的人踢出圈子num=1 #重新从1开始报数print("剩余的列表是:",circle)i += 1
print("最后留下的人是原来第{}号的人".format(*circle))
def game(n, k):lst = list(range(1, n+1))print(f"游戏开始之前的初始位置\n{lst}")count = 0while len(lst)>1:for i in range(k-1):  # k-1次将首部元素放到尾部lst.append(lst.pop(0))del_num = lst.pop(0)count += 1print(f"第{count}次删掉的是{del_num}")print(f"剩下的人:", lst)return lst[0]n = int(input("总人数 n = "))
k = int(input("删除报号数 k = "))result = game(n, k)
print(f"最后留下的是原来的{result}号")

Python——报数出圈相关推荐

  1. C语言约瑟夫报数出圈算法,c语言实现约瑟夫环问题

    (一)基本问题 1.问题描述 设有编号为1,2,-,n的n(n>0)个人围成一个圈,每个人持有一个密码m.从第一个人开始报数,报到m时停止报数,报m的人出圈,再从他的下一个人起重新报数,报到m ...

  2. C语言约瑟夫报数出圈算法,详解约瑟夫环问题及其相关的C语言算法实现

    约瑟夫环问题 N个人围成一圈顺序编号,从1号开始按1.2.3......顺序报数,报p者退出圈外,其余的人再从1.2.3开始报数,报p的人再退出圈外,以此类推. 请按退出顺序输出每个退出人的原序号 算 ...

  3. C语言-报数出圈问题(链表实现)

    问题描述:n个人围成一圈,顺序编号.从第一个人开始从1到m报数,凡报到m的人退出圈子,编程求解最后留下的人的初始编号. 程序运行示例: 6 3(两个输入数据之间有空格) 1输入格式:scanf(&qu ...

  4. c语言出圈问题数学算法,出圈问题

    首先理解题意 设有n个人围坐一圈并按顺时针方向从1到n编号. 从第s个人开始进行1到m的报数, 报数到第m个人, 此人出圈, 再从他的下一个人重新开始1到m的报数,如此进行下去直到所有的人都出圈为止. ...

  5. 题目98-4:n个人(n<=100)围成一圈,从第一个人开始报数,数到m的人出列,再由下一个人重新从1开始报数,数到m的人再出圈,……,依次类推,直到所有的人都出圈,请输出依次出圈人的编号。

    题目转载:http://python.wzms.com/s/1/103 题目描述: n个人(n<=100)围成一圈,从第一个人开始报数,数到m的人出列,再由下一个人重新从1开始报数,数到m的人再 ...

  6. 10个人围成一圈循环报数,输出最后出圈的人

    <程序设计基础-c语言>杨莉 刘鸿翔 ISBN-978-7-03-032903-5 p138 习题5 9.假设有10个人围成一圈,从开始顺序编号.从第一个人开始报数,从1到3,凡是报出3的 ...

  7. 有n个人围坐一圈并按顺时针方向从1到n编号,从第s个人开始进行1到m的报数,报数到第m个人,此人出圈,再从他下一个人重新开始1到m的报数,如此下去直到全部都出圈为止。现要求按出圈次序.给出n人的顺序表

    设有n个人围坐一圈并按顺时针方向从1到n编号,从第s个人开始进行1到m的报数,报数到第m个人,此人出圈,再从他的下一个人重新开始1到m的报数,如此进行下去直到所有的人都出圈为止.现要求按出圈次序,每1 ...

  8. 【数据分析与娱乐八卦】从Python可视化图表中探究王心凌出圈的流量密码

    疫情当下,"刘畊宏女孩"的余热尚在,"王心凌男孩"则是开始刷屏于各大社交媒体的头版头条.从上周五<乘风破浪的姐姐>第三季初舞台播出至今,王心凌的热度 ...

  9. 绕圈报数游戏Java算法_经典游戏(围圈数数,数到3者出圈,求最后幸存者)

    [java]代码库import java.util.Scanner; /** * 约瑟夫问题 * 有n个人围成一圈,顺序排号.从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,下个人继续开始从 ...

最新文章

  1. 清华大学开源迁移学习算法库:基于PyTorch实现,支持轻松调用已有算法
  2. 水痘痊愈就能终生免疫?其实病毒仍潜伏在神经,随时以更可怕的形式爆发......
  3. 用python播放音乐_Python实例讲解 -- 定时播放 (闹钟+音乐)
  4. 另类vs2015+xamarin 的android界面乱码 解决
  5. 14种东西帮你治疗口腔溃疡 - 生活至上,美容至尚!
  6. 1.struts1.x基本action的配置与使用
  7. centos mate桌面_CENTOS7安装各种桌面系统 CENTOS安装桌面图形化GUI GNOME/KDE/Cinnamon/MATE/Xfce...
  8. Ubuntu18.04下解决Qt出现qt.qpa.plugin:Could not load the Qt platform plugin “xcb“问题
  9. Case Study: 技术和商业的结合点在哪里?
  10. Mac上QQ音乐无损保存音频方法
  11. php怎么转换bt,php格式的文件转成bt种子文件的方法
  12. 苹果软解ID软件(X.PASSWORD-XIMEI 苹果id锁)--上帝左手汉化组(内附即时更新)
  13. 【STM32】 STM32单片机IO引脚配置方式
  14. DATEDIF 函数(转)
  15. 威廉玛丽学院计算机专业,威廉玛丽学院专业设置有哪些?
  16. 家喻户晓的足力健,凭什么征服中老年人?
  17. 一个大牛对IT人士的忠告
  18. 【SDN】普通路由器刷OpenWrt+OpenFlow教程完美版_搭建SDN OpenFlow1.3协议的路由器(Flash<16M)
  19. 主成分分析(PCA)原理及推导
  20. 外置MOS 开关型 PWM调光 降压恒流驱动芯片

热门文章

  1. AT89C51单片机的C语言代码和仿真模拟学习
  2. 神经网络与卷积神经网络,深度残差卷积神经网络
  3. 残差神经网络(ResNet)理解
  4. 汽车销售技巧培训讲师 司铭宇老师简介
  5. 浅谈React的状态更新函数setState
  6. SQL server培训(一)
  7. python爬取12306(火车票分析助手)
  8. iqc工作职责和工作内容_IQC工作职责及IQC检验基础知识
  9. 人不管在哪里,都要持续努力
  10. XID8300证卡打印机膜带安装步骤