1 条题解

  • 0
    @ 2026-6-19 10:30:23

    📝 题目大意

    给定 TT 个测试用例,每个测试用例包含 NN 个正整数,统计其中有多少个是奇数。

    💡 解题思路

    1. 题目分析T100T \leq 100N100N \leq 100,数据规模极小,直接模拟即可。AiA_i 最大可达 10910^9,但只需判断奇偶性,对 22 取模即可,用 int 足够。
    2. 算法推导:对于每个测试用例,读入 NN 后遍历 NN 个数,用 A % 2 == 1 判断是否为奇数,用一个计数器 count 累加奇数个数,最后输出 count
    3. 边界与细节:注意 AiA_i 均为正整数,无需考虑负数取模的符号问题。每个测试用例独立输出一行答案,切勿忘记换行。

    ⏱️ 复杂度分析

    • 时间复杂度O(T×N)O(T \times N),最坏情况下 100×100=104100 \times 100 = 10^4 次操作,轻松通过。
    • 空间复杂度O(1)O(1),仅使用常数个变量。

    💻 标准代码 (C++)

    #include <bits/stdc++.h>
    using namespace std;
    int main(){
        int T;
        cin >> T;                      // 读取测试用例数量
        for (int i = 0; i < T; i++) {  // 依次处理每个测试用例
            int N;
            cin >> N;                  // 当前测试用例的整数个数
            int count = 0;             // 奇数计数器
            for (int j = 0; j < N; j++) {
                int A;
                cin >> A;              // 读入每个整数
                if (A % 2 == 1) {      // 判断是否为奇数
                    count++;           // 奇数则计数加一
                }
            }
            cout << count << endl;     // 输出当前测试用例的答案
        }
        return 0;
    }
    
    • 1

    信息

    ID
    677
    时间
    1000ms
    内存
    256MiB
    难度
    10
    标签
    (无)
    递交数
    1
    已通过
    1
    上传者