与指定数字相同的数的个数

GitHub跳转原题关系图返回列表

线性扫描序列,统计等于指定数字的元素个数。

OJ: roj

题目 ID: 1068

难度:入门

标签:入门计数线性扫描

创建: 2026-07-05 21:47

更新: 2026-10-05 00:05

题目描述

给定长度为 nn(n≤100n \le 100)的整数序列,统计其中等于 mm 的数的个数。输入第 1 行为 nn 和 mm,第 2 行为 nn 个整数;输出满足条件的元素个数。

样例:输入 3 2 和 2 3 2,输出 2。

思路

依次读入每个数,若等于 mm 则计数器加一,最后输出计数器。

参考代码

Python 版:

python
#!/usr/bin/env python3
# Author by Rainboy blog: https://rainboylv.com github: https://github.com/rainboylvx
# rbook: -> https://rbook.roj.ac.cn  https://rbook2.roj.ac.cn
# rainboy的学习导航网站: https://idx.roj.ac.cn
# create_at: 2026-07-05 21:47
# update_at: 2026-07-05 21:47

import sys


def solve() -> None:
    data = iter(map(int, sys.stdin.buffer.read().split()))
    n = next(data)
    m = next(data)
    print(sum(1 for x in data if x == m))


if __name__ == "__main__":
    solve()

C++ 版(同一算法):

cpp
/**
 * Author by Rainboy blog: https://rainboylv.com github: https://github.com/rainboylvx
 * rbook: -> https://rbook.roj.ac.cn  https://rbook2.roj.ac.cn
 * rainboy的学习导航网站: https://idx.roj.ac.cn
 * create_at: 2026-10-05 00:05
 * update_at: 2026-10-05 00:05
 */
#include <iostream>
using namespace std;

typedef long long ll;

ll n, m;      // 序列长度与指定数字
ll x;         // 当前读入的数
ll cnt;       // 与 m 相同的数的个数

int main() {
    ios::sync_with_stdio(false);
    cin.tie(0);

    // 读取序列长度和指定数字
    cin >> n >> m;

    // 线性扫描序列,统计等于 m 的数的个数
    for (ll i = 1; i <= n; ++i) {
        cin >> x;
        if (x == m) {
            ++cnt;
        }
    }

    // 输出结果
    cout << cnt << "\n";
    return 0;
}