略懂c语言 2022-05-01 22:23 采纳率: 92.6%
浏览 195
已结题

特殊约瑟夫问题 猴子选王

一群猴子都有编号,编号是1,2,3 ...n,这群猴子(n只)按照1-n的顺序围坐一圈,从第1开始顺序数,数到第m个,该猴子就要离开此圈;从他前一个开始从1逆序数,数到k,该猴子离开此圈;再从这只猴子的下一只猴子从1顺序数,数到m离开此圈,这样依次下来,直到圈中只剩下最后一只猴子,则该猴子为大王。
输入猴子总数n,猴子顺序数数m,猴子逆序数数k。三数之间用空格分隔。n、m、k 不超过200。
输出最后获胜的猴子编号。
输入
8 3 5
输出
8
输入
8 2 5
输出
1

  • 写回答

2条回答 默认 最新

  • Hann Yang 全栈领域优质创作者 2022-05-02 07:53
    关注

    这是约瑟夫环出圈问题的升级版:

    n,m,k = (*map(int,input().split()),)
    pos,monkey = k,[*range(1,n+1)]
    
    while len(monkey)>1:
            pos = k if pos==m else m
            idx = (pos-1) % len(monkey)
            monkey = monkey[:idx][::-1] + monkey[idx+1:][::-1]
            
    print(*monkey)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 5月10日
  • 已采纳回答 5月2日
  • 创建了问题 5月1日

悬赏问题

  • ¥15 matlab中mjs用不了
  • ¥15 Ios抖音直播的时候如何添加自定义图片在直播间!
  • ¥60 riscv-pulpino总线上挂载axi从机
  • ¥15 ssh登录页面的问题
  • ¥50 关于在matlab上对曲柄摇杆机构上一点的运动学仿真
  • ¥15 jetson nano
  • ¥15 :app:debugCompileClasspath'.
  • ¥15 windows c++内嵌qt出现数据转换问题。
  • ¥15 stm32 串口通讯过程中的问题
  • ¥20 公众号如何实现点击超链接后自动发送文字