文章

【GESP】C++一级真题练习(202312)luogu-B3922,小杨报数

GESP一级真题练习。为2023年12月一级认证真题。for循环和取余计算应用。

luogu-B3922

题目要求

描述

小杨需要从 1 到 N 报数。在报数过程中,小杨希望跳过 M 的倍数。例如,如果 N=5, M=2 ,那么小杨就需要依次报出 1、3、5。
现在,请你依次输出小杨报的数。

输入

输入 2 行,第一行一个整数 N(1≤N≤1,000);第二行一个整数 M(2≤M≤100)。

输出

输出若干行,依次表示小杨报的数。

输入样例-1

5
2

输出样例-1

1
3
5

输入样例-2

10
3

输出样例-2

1
2
4
5
7
8
10


题目分析

遍历 1 到 (N):对每个数 (x),判断是否为 (M) 的倍数。

  • 若 (x) 是 (M) 的倍数(即 (x % M == 0)),则跳过不报。
  • 若 (x) 不是 (M) 的倍数,则输出 (x)。

示例代码

1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
using namespace std;
int main() {
    int a, b;
    cin >> a >> b;
    for (int i = 1; i <= a; i++) {
        if (i % b != 0) {
            cout << i << endl;
        }
    }
    return 0;
}

所有代码已上传至Github:https://github.com/lihongzheshuai/yummy-code

题目已加入洛谷Java、C++初学团队作业清单,可在线评测,团队名额有限,欢迎加入。

本文由作者按照 CC BY 4.0 进行授权