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

特殊约瑟夫问题 猴子选王

一群猴子都有编号,编号是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 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)