美文网首页日更成长营自学编程Python
自学Python:大家围成圈报数123

自学Python:大家围成圈报数123

作者: 小强聊成长 | 来源:发表于2022-05-29 17:50 被阅读0次

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

要求编写一个程序来实现,人数可以自由输入。

下面直接上代码:

########################

if __name__ == '__main__':

    nmax = 50

    n = int(input('请输入围成圈的总人数:'))

    num = []

    for i in range(n):

        num.append(i + 1)

    i = 0

    k = 0

    m = 0

    while m < n - 1:

        if num[i] != 0: k += 1

        if k == 3:

            num[i] = 0

            k = 0

            m += 1

        i += 1

        if i == n: i = 0

    i = 0

    while num[i] == 0: i += 1

    print(num[i])

########################

执行结果如下:

请输入围成圈的总人数:35

13

________________END______________

相关文章

  • 自学Python:大家围成圈报数123

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

  • 转圈圈

    需求: 1-100号人,围成一个圈,从1号报数,123、123...报数,报3出圈圈,缩小圈圈,问最后留下那个人是...

  • 围圈报数问题的一种算法的原理解析

    围圈报数问题描述如下:有n个人围成一圈,依次编号为0,1,2,3......,然后从0开始报数,每次报数为M的倍数...

  • N个人围成一圈报数

    1. 有N个人围成一圈,顺序排号,从第一个人开始报数,凡是报到M的人退出圈子,问最后留下的几号? 2. N个人围成...

  • python实现小孩报数问题

    N个小孩围成一个圈,由第1个小孩开始报数,报数为M的人出局,请问最后出局的小孩是第几个 代码如下:

  • 使用单链表解决约瑟夫问题

    问题描述: N个人围成一圈,从第k个人开始报数,报到m的人出圈,剩下的人继续从1开始报数,报到m的人出圈;如此往复...

  • 约瑟夫环

    N个人围成一圈顺序编号,从1号开始按1、2、3......顺序报数,报p者退出圈外,其余的人再从1、2、3开始报数...

  • js笔试题

    50个人围成一圈排上编号1-50,然后按照1、 2、 3循环报数。报到3的人移除,剩下的人接着从1开始报数,直至剩...

  • 数 3 游戏 2

    题目 有 n 个人围成一圈,顺序排号。从第一个人开始报数(从 1 到 3 报数),凡报到 3 的人退出圈子,问最后...

  • 数 3 游戏 1

    题目 有 n 个人围成一圈,顺序排号。从第一个人开始报数(从 1 到 3 报数),凡报到 3 的人退出圈子,问最后...

网友评论

    本文标题:自学Python:大家围成圈报数123

    本文链接:https://www.haomeiwen.com/subject/yrxwsrtx.html