【华为OD机试】报数游戏 (C++ Python Java)2023 B卷

题目描述

100个人围成一圈,每个人有一个编码,编号从1开始到100。

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

直到剩余的人数小于M。

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

输入描述:

输入一个整数参数 M

输出描述:

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

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

示例1 输入输出示例仅供调试,后台判题数据一般不包含示例

输入

3

输出

58,91

说明

输入M为3,最后剩下两个人。

示例2 输入输出示例仅供调试,后台判题数据一般不包含示例

输入

4

输出

34,45,97

说明

输入M为4,最后剩下三个人。

考点

逻辑分析

代码

m=int(input())
if m<=1 or m>=100:
    print("ERROR!")
else:
    vec=[]
    for i in range(1,101):
        vec.append(i)
    left=100
    cnt=0
    while left>

你可能感兴趣的:(华为od机试2023B卷,华为od,游戏,c++,python,java)