小工具知识网

当前位置: 首页 > 行业知识 > 华为OD机试C卷-- 报数游戏(Java & JS & Python)

行业知识

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

2026-11-06 02:32:26 来源:互联网转载

获取题库不需要订阅专栏,可直接私信我进入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 

上一篇:服务器怎么使用配置文件?

下一篇:怎么攻击tomcat服务器?