试题 算法训练 筛选号码 python 2020.3.14

试题 算法训练 筛选号码

资源限制
时间限制:1.0s 内存限制:512.0MB
问题描述
  有n个人围成一圈,顺序排号(编号为1到n)。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子。从下一个人开始继续报数,直到剩下最后一个人,游戏结束。
  问最后留下的是原来第几号的那位。
  举个例子,8个人围成一圈:
  1 2 3 4 5 6 7 8
  第1次报数之后,3退出,剩下:
  1 2 4 5 6 7 8 (现在从4开始报数)
  第2次报数之后,6退出,剩下:
  1 2 4 5 7 8 (现在从7开始报数)
  第3次报数之后,1退出,剩下:
  2 4 5 7 8 (现在从2开始报数)
  第4次报数之后,5退出,剩下:
  2 4 7 8 (现在从7开始报数)
  第5次报数之后,2退出,剩下:
  4 7 8 (现在从4开始报数)
  第6次报数之后,8退出,剩下:
  4 7 (现在从4开始报数)
  最后一次报数之后,4退出,剩下:
  7.
  所以,最后留下来的人编号是7。
输入格式
  一个正整数n,(1<n<10000)
输出格式
  一个正整数,最后留下来的那个人的编号。
样例输入
8
样例输出
7
数据规模和约定
  对于100%的数据,1<n<10000。

解决办法
这是个约瑟夫问题,在网上查了很多办法这里编写两种
1.报数挨个删除
注意索引值

n = int(input())
arr = [int(j+1) for j in range(n)]
i = 0
count = 0

while len(arr) != 1:   
        count += 1
        if i >= len(arr):
            i = 0
        if count == 3: #计数到三删除
           del arr[i]
           count = 0
           i -= 1
        i += 1        
print(arr[0])

2.用数学方法解决问题
递归的方法,理解较困难

# 数学方法解决 约瑟夫环
n = int(input())
def f(n,m):
    
    if(n == 1):
        return 0
    return (f(n - 1,m) + m) % n
print(f(n,3)+1)

参考的是用Java做的,里边数学方法讲的挺详细,可以参考https://www.jianshu.com/p/eeb696037bfc

正在学习中,有参加蓝桥杯的可以一起学习

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 安装Python 2020.3.7的过程相对简单。以下是详细的步骤: 首先,你需要前往Python官方网站 (https://www.python.org) 下载最新的Python 3.7版本的安装包。选择适合你操作系统的版本,例如Windows、MacOS或者Linux。 一旦下载完成,双击安装包运行安装程序。在安装程序中,你可以自定义安装设置,例如安装路径和可选组件。一般来说,使用默认设置即可。 在安装过程中,你会看到一个选项 "Add Python 3.7 to PATH",请确保勾选上该选项。这样能够使得Python命令在命令行中全局可用,并且后续使用Python时更加方便。 完成上述设置后,点击"Install"按钮开始安装Python。安装过程可能需要几分钟的时间。一旦安装完成,你可以选择关闭安装程序。 为了验证Python是否已经成功安装,打开命令行窗口。在命令行中输入"python"并按下回车键。如果安装成功,你将看到Python解释器的提示符,表示你已经可以在命令行中使用Python了。 此外,还可以使用"python -V"命令来检查Python的版本号,确认是否安装了正确的版本。如果屏幕上显示"Python 3.7.x",表示Python安装成功。 最后,为了更好地使用Python,你还可以安装第三方软件包和工具。可以使用pip(Python的包管理工具)来安装所需的软件包。例如,可以使用"pip install package-name"来安装第三方库,其中"package-name"是你需要安装的库的名称。 以上就是Python 2020.3.7安装包的说明,希望对你有所帮助! ### 回答2: 要安装Python 2020.3.7,我们可以按照以下步骤进行操作: 1. 首先,打开Python官方网站(www.python.org)的Downloads页面。 2. 在Downloads页面中,我们可以找到各种Python版本的下载链接。找到Python 2020.3.7的下载链接并点击进入。 3. 在Python 2020.3.7的下载页面中,我们可以看到不同操作系统的安装包。根据你的操作系统,选择相应的安装包进行下载。例如,如果你是Windows用户,选择Windows Installer安装包进行下载。 4. 下载完安装包后,双击运行它。弹出的安装向导将帮助我们完成Python的安装过程。 5. 在安装向导中,我们需要阅读并同意Python的许可协议。 6. 接下来,我们可以选择是否将Python添加到系统环境变量中。如果选择添加,我们可以在任何位置直接运行Python解释器。 7. 然后,选择Python安装的位置。通常情况下,建议将Python安装到默认位置。 8. 在安装过程中,我们可以选择安装附加功能,如Python的文档和示例文件。根据自己的需求进行选择。 9. 完成安装过程后,我们可以在命令提示符或终端窗口中输入“python”命令来验证安装是否成功。如果成功安装,将显示Python版本信息。 10. 此外,我们还可以通过安装Python包管理工具pip,来安装各种第三方类库和模块。可以在命令提示符或终端窗口中输入“pip install 包名”来安装特定的包。 以上就是安装Python 2020.3.7的一般步骤。希望对你有所帮助! ### 回答3: Python是一种非常流行的编程语言,它具有简单易学、功能强大的特点。下面是关于Python 2020.3.7安装包的介绍。 Python 2020.3.7是Python编程语言的一个版本。为了开始使用Python,我们需要安装Python的解释器以及其它必要的工具和库。 首先,我们需要从Python官方网站(https://www.python.org)下载Python 2020.3.7的安装包。在网站的首页上可以找到“Downloads”(下载)的选项,点击进入下载页面。 在下载页面,我们可以在“Python 3.7.0”段落中找到“Windows Installer”(Windows安装程序)的链接。根据自己的操作系统版本选择合适的链接进行下载。 下载完成后,双击运行安装包。在安装向导中,我们需要选择Python的安装路径,默认情况下会安装在C盘的Program Files目录下。我们也可以选择自定义路径。 在接下来的步骤中,我们可以选择添加Python到系统的PATH环境变量中,这样我们可以在命令行或终端中直接使用python命令。建议勾选此选项。 然后,我们可以选择安装额外的功能和库。在Python 2020.3.7安装程序中,我们可以勾选“pip”和“tkinter”选项。pip是Python的包管理工具,而tkinter是Python的图形用户界面库。 最后,点击“Install”(安装)按钮开始安装Python。安装完成后,我们可以在开始菜单中找到Python的运行程序,以及IDLE(Python的集成开发环境)。 在安装Python之后,我们就可以开始使用Python编写和运行程序了。希望这个简单的介绍可以帮助你顺利安装Python 2020.3.7。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值