学习记录与分享

PTA程序设计类教学平台—Python作业二(循环结构程序设计)

题目

7-5 模拟报数游戏(约瑟夫环问题)

有n个人围成一圈,从1开始按顺序编号,从第一个人开始从1到k报数,报到k的人退出圈子;然后圈子缩小,从下一个人继续游戏,问最后留下的是第几号(只留1 人)。要求定义函数实现。
输入格式:
初始n和k自由指定。
输出格式:
最后留下人的原序号,以列表形式展示。
输入样例:

45
4

输出样例:

[27]

答案:

n = int(input())
k = int(input())
c = []def hhh(n, k):#定义一个哈哈哈函数for i in range(1, n + 1):c.append(i)num = 1while len(c) != 1:c.append(c.pop(0))  # 把已报数的人取出放到队尾,以此实现围成圈循环往复num += 1if num == k:del c[0]  # 把报到规定数字的人踢出圈子num = 1  # 重新从1开始报数return cprint(hhh(n, k))

END~

7-5 模拟报数游戏(约瑟夫环问题):有n个人围成一圈从1开始按顺序编号从第一个人开始从1到k报数,报到k的人退出圈子;然后圈子缩小,下一个人继续,问最后留下的是第几号(只留1 人)。要求定义函数相关推荐

  1. 约瑟夫环问题:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。...

    首先,我最大的学习来源不是百度而是我群友~~在这里表白一波我热爱学习的群友们! 然后今天群里突然有人提出了题目的这个问题: 有n个人围成一圈,顺序排号.从第一个人开始报数(从1到3报数),凡报到3的人 ...

  2. 约瑟夫环问题,n个人围成一圈,依次按1、2.....m来报数,报数值为m的人出圈,求最后出圈的人和出圈的序列

    约瑟夫环问题(有时也称为约瑟夫斯置换,是一个出现在计算机科学和数学中的问题.在计算机编程的算法中,类似问题又称为约瑟夫环.又称"丢手绢问题".),也就是如下图这个样子: 简单来讲就 ...

  3. C++[算法]用数组模拟约瑟夫问题,即 N个人围成一圈,顺时针每数到给定K值的人出列,直到剩下最后一个人,求出圈人的序号顺序

    约瑟夫是公元1世纪一位著名的历史学家. 约瑟夫问题可简述为: 有n人围坐成一圈(假设他们的编号沿顺时针方向依次为1到n).编程序,使用数组来存放各数据(人员编号),而后从1号人员开始数起(沿顺时针方向 ...

  4. 13个人围成一圈,从第1个人开始顺序报号1、2、3,凡报到3的人退出圈子。找出最后留在圈子里的人原来的序号。

    [绕圈报数] 1130 更新 ======== 一般化情况 13个人围成一圈,从第1个人开始顺序报号1.2.3,凡报到3的人退出圈子.找出最后留在圈子里的人原来的序号. 输出提示 "出圈成员 ...

  5. 约瑟夫环问题:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。

    题目:     有n个人围成一圈,顺序排号.从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位. 解题思路:     利用数组的"0"和&qu ...

  6. python模拟报数游戏有n个人围成一圈,从0到n-1按顺序编号,从第一个人开始从1到k报数,报到k的人推出圈子,然后圈子缩小,从下个人继续游戏,问最后留下来的是几号?

    python模拟报数游戏 有n个人围成一圈,从0到n-1按顺序编号,从第一个人开始从1到k报数,报到k的人推出圈子,然后圈子缩小,从下个人继续游戏,问最后留下来的是几号? from itertools ...

  7. 算法训练 - 筛选号码 (有n个人围成一圈,顺序排号(编号为1到n)。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子。从下一个人开始继续报数,直到剩下最后一个人,游戏结束。)

    问题描述 有n个人围成一圈,顺序排号(编号为1到n).从第1个人开始报数(从1到3报数),凡报到3的人退出圈子.从下一个人开始继续报数,直到剩下最后一个人,游戏结束. 问最后留下的是原来第几号的那位. ...

  8. 报数游戏是这样的:有n个人围成一圈,按顺序从1到n编好号。从第一个人开始报数,报到m的人退出圈子;下一个人从1开始报数,报到m的人退出圈子。如此下去,如此反复到所有人出列。

    报数游戏是这样的:有n个人围成一圈,按顺序从1到n编好号.从第一个人开始报数,报到m(<n)的人退出圈子:下一个人从1开始报数,报到m的人退出圈子.如此下去,如此反复到所有人出列.设n个人的编号 ...

  9. 有n个人围成一圈,按顺序从1到n编号。从第一个人开始报数,报数3的人退出圈子,下一个人从1开始重新报数,报数3的人退出圈子。如此循环,直到留下最后一个人。问留下来的人的编号。

    [问题描述]有n个人围成一圈,按顺序从1到n编号.从第一个人开始报数,报数3的人退出圈子,下一个人从1开始重新报数,报数3的人退出圈子.如此循环,直到留下最后一个人.问留下来的人的编号. [输入形式] ...

最新文章

  1. ​图像识别算法超低代码开发方案
  2. 推特雪花算法 java实现
  3. MySQL的主从复制详解
  4. 捷联惯导系统学习7.4(车载惯性/里程仪组合导航 )
  5. python实现微信自动回复_python实现微信自动回复功能
  6. 是指直接进行国际联网的计算机信息网络,网络安全合规指引题库:计算机信息网络直接进行国际联网,可以使用邮电部国家公用电信网提供的国际出入口信道。单位和个人也可以自行建立信道进行国际联网。()...
  7. 安卓dj专业打碟机软件_18号免费软件集合
  8. 层次聚类python实现
  9. 共享硬盘没有权限访问计算机,win7系统访问磁盘共享没有权限的解决方法
  10. 9行代码用python制作迷宫gif动画
  11. 开始用巴别小精灵强化英语单词记忆
  12. 鲁宾逊微积分与“知识共享”,携手相伴进入中国
  13. 2013年3月山东综合性网站及社区网站 综合影响力排名
  14. 模电笔记 2理想运放电路
  15. 惠普服务器-ILO使用
  16. MongoDB与亚马逊云科技扩大全球合作
  17. 计算机里面的文件一直和桌面上重复,有些文件删不掉_电脑桌面上有一个文件图标老是删不掉,每次删,都......
  18. linux学习软件有哪些,Linux学习12个有效果软件!看看哪些你用得上
  19. 单片机控制继电器电路 程序就很简单了 做一个口的输出就可以了
  20. 安卓网apk安装器_光遇国际服安装攻略

热门文章

  1. 简支付系统 什么是简支付?简支付好用吗?
  2. FPGA异步信号寄存器打拍
  3. 长虹电视+刷回android,【当贝市场】长虹电视刷机方法,如何刷机
  4. Elasticsearch搜素引擎入门
  5. QT QPaintEvent update repaint 高帧率画图
  6. 可以在xmind上同时有两个大主题吗_教程|如何自定义主题风格?
  7. linux无法解析域名怎么办,Linux无法解析域名的解决办法
  8. 1、Shell 概述
  9. PHP微信第三方扫码登陆
  10. 机器学习2022笔记(一)—— 机器学习相关规定