美文网首页python学习
python-猴子选大王问题

python-猴子选大王问题

作者: 李药师_hablee | 来源:发表于2019-11-13 09:41 被阅读0次

一群猴子要选新猴王。新猴王的选择方法是:让N只候选猴子围成一圈,从某位置起顺序编号为1~N号。从第1号开始报数,每轮从1报到3,凡报到3的猴子即退出圈子,
接着又从紧邻的下一只猴子开始同样的报数。如此不断循环,最后剩下的一只猴子就选为猴王。请问是原来第几号猴子当选猴王?

输入格式:

输入在一行中给一个正整数N(≤1000)

输出格式:

在一行中输出当选猴王的编号。

输入样例:

11

输出样例:

7

解答

N = int(input())
stand = []
for i in range(1,N+1):
        stand.append(1)#所有猴子都在
cnt = 0
n = N
while(n!=1):
        for i in range(0,N):
                if stand[i]==1:#这个猴子还在才计数                        
                        cnt = cnt+1
                        if cnt==3:
                                stand[i] = 0
                                cnt = 0
                                n = n-1#猴子数量减一
print(stand.index(1)+1)                                                        

测试结果

答案正确

思路

对每个猴子设置一个他在的标记,如果他数到3就变换标记,直到猴子只剩一个

相关文章

  • python-猴子选大王问题

    一群猴子要选新猴王。新猴王的选择方法是:让N只候选猴子围成一圈,从某位置起顺序编号为1~N号。从第1号开始报数,每...

  • 猴子选大王

    一群猴子排成一圈,按1,2,…,n依次编号。然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数,再数到第...

  • (改)~-7 猴子选大王

    7-7 猴子选大王(20 分)一群猴子要选新猴王。新猴王的选择方法是:让N只候选猴子围成一圈,从某位置起顺序编号为...

  • 约瑟夫环类问题的简单解法

    原创 猴子选大王 一群猴子要选新猴王。新猴王的选择方法是:让N只候选猴子围成一圈,从某位置起顺序编号为1~N号。从...

  • PHP算法之猴子选大王

    猴子选大王 一群猴子要选新猴王。新猴王的选择方法是:让M只候选猴子围成一圈,从某位置起顺序编号为1~M号。从第1号...

  • 约瑟夫问题公式

    约瑟夫问题:有n只猴子,按顺时针方向围成一圈选大王(编号从1到n),从第1号开始报数,一直数到m,数到m的猴子退出...

  • 约瑟夫问题求解

    一、问题描述 约瑟夫问题是:有 n 只猴子,按顺时针方向围成一圈选大王(编号为 1~n),从第 1 号开始报数,一...

  • PHP 算法题猴子选大王

    题目 一群猴子排成一圈,按1,2,…,n依次编号。然后从第1只开始数,数到第m只,把它踢出圈,从它后面再开始数,再...

  • 0019-约瑟夫问题

    问题描述 约瑟夫问题:有n只猴子,按顺时针方向围成一圈选大王(编号从1到n) ,从第1号开始报数, 一直数到m,...

  • 《猴子大王》

    狮子死了,谁来当大王呢?小动物都在议论着,可是不管小动物们说谁,小猴都不同意,小动物们看着只有小猴可以当大...

网友评论

    本文标题:python-猴子选大王问题

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