202312-小杨报数(luogu-B3922)

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 到 NN:对每个数 xx,判断是否为 MM 的倍数。

  • xxMM 的倍数(即 xmodM=0x \bmod M = 0),则跳过不报。
  • xx 不是 MM 的倍数,则输出 xx

示例代码

#include <iostream>
using namespace std;

int main() {
    int N, M;  // N为报数上限,M为需要跳过的倍数
    cin >> N >> M;  // 输入N和M
    
    // 遍历从1到N的所有数字
    for (int i = 1; i <= N; i++) {
        // 判断当前数字i是否不是M的倍数
        if (i % M != 0) {
            cout << i << endl;  // 如果不是M的倍数,则输出该数字
        }
        // 如果是M的倍数,则跳过不输出
    }
    
    return 0;
}

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

luogu-”系列题目可在 洛谷题库 在线评测。

bcqm-”系列题目可在 编程启蒙题库 在线评测。

GESP/CSP 认证学习微信公众号
GESP/CSP 认证学习微信公众号
Last updated on