当前位置:   article > 正文

华为OD机试C卷-- 报数游戏(Java & JS & Python)

华为OD机试C卷-- 报数游戏(Java & JS & Python)

获取题库不需要订阅专栏,可直接私信我进入CSDN领军人物top1博主的华为OD交流圈观看完整题库、最新面试实况、考试报告等内容以及大佬一对一答疑。
题目描述
100个人围成一圈,每个人有一个编码,编号从1开始到100。

他们从1开始依次报数,报到为M的人自动退出圈圈,然后下一个人接着从1开始报数,直到剩余的人数小于M。

请问最后剩余的人在原先的编号为多少?

输入描述
输入一个整数参数 M

输出描述
如果输入参数M小于等于1或者大于等于100,输出“ERROR!”;

否则按照原先的编号从小到大的顺序,以英文逗号分割输出编号字符串

题目解析
这个问题是一个经典的约瑟夫(Josephus)环问题,其核心在于模拟一个计数列中的人依规则逐步淘汰的过程。给定人数n=10和一个计数M,从1开始报数,报到M的人退出,然后下一个人继续从1开始报数,直到只剩余下少于M个人。求最后剩下的人员的原始编号。

java算法源码

public class Josephus {
   
    public 
  • 1
  • 2
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/667482
推荐阅读
相关标签
  

闽ICP备14008679号