当前位置:首页 » 《休闲阅读》 » 正文

2024年全国高校计算机能力挑战赛C语言计算机能力挑战赛赛前模拟

7 人参与  2024年12月14日 12:01  分类 : 《休闲阅读》  评论

点击全文阅读


2024年全国高校计算机能力挑战赛C语言计算机能力挑战赛赛前模拟

4c5ca6745c014d4c9cc8dc586ca62f46.gif

18

拉手游戏某个班级共n(2<n<100)人玩报数游戏,同学们最初手拉手围成一圈。小明最开始站在第m(0<m<n) 个位置,现在从圈内第一个位置开始报数,但凡报到3就退出圈子,问小明是第几个退出圈子的人?

输入格式:一行输入两个正整数n与m

输出格式:输出小明是第几个退出圈子的人

输入样例:输入样例1: 

3 3

输入样例2:

3 1

输出样例:输出样例1:

1

输出样例2:

2

04913fb91e524687bf12e8c1a544fdf5.png

解析:提示性的文字考试不需要,便于理解。

b8d5e1dad1114510a4b502e8673b22f5.png

#include <stdio.h>
int main() {
    int n, m; int count = 0, position = 1;  // 记录当前报数的位置,count用于记录数据能被3整除时退出圈子。
    // 输入n和m
    printf("请输入两个正整数n与m(用空格分隔):\n ");
    scanf("%d %d", &n, &m);
    int circle[100];  // 用于记录每个人是否还在圈子中
    for (int i = 1; i <= n; i++) {
        circle[i] = i;  // 初始时所有人都在圈子中
    }
    while (1) {
        if (circle[position])
            count++;
        if (count % 3==0) {
            circle[position] = 0;
            if (position == m) {
                break;
            }
        }
        position++;
        if(position>n)
        position = position % n;
    }
    // 输出结果
    printf("小明是第%d个退出圈子的人\n",count/3);
    return 0;
}

 

 

 

 

 


点击全文阅读


本文链接:http://zhangshiyu.com/post/201065.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1