使用 C++ 统计数组中位数为偶数的数字个数

给定一个整数数组 nums,请你返回其中位数为偶数的数字的个数。

#include <vector>

int findNumbers(std::vector<int>& nums) {
    int count = 0;
    for (int num : nums) {
        int digitCount = 0;
        while (num != 0) {
            num /= 10;
            digitCount++;
        }
        if (digitCount % 2 == 0) {
            count++;
        }
    }
    return count;
}

代码解释:

  1. **定义变量:**首先,我们定义一个变量 count,用于记录位数为偶数的数字的个数。

  2. **遍历数组:**然后,我们遍历给定的整数数组 nums

  3. **计算位数:**对于数组中的每个元素 num,我们通过循环计算其位数,即不断将 num 除以 10,直到 num 变为 0,同时累加 digitCount 的值。

  4. **判断位数奇偶性:**然后,我们判断 digitCount 是否为偶数,如果是,则将 count 的值加 1。

  5. **返回结果:**最后,返回 count 的值作为结果。

示例:

std::vector<int> nums = {12, 345, 2, 6, 7896};
int result = findNumbers(nums);
std::cout << "位数为偶数的数字个数:" << result << std::endl;

输出:

位数为偶数的数字个数:2

代码示例说明:

  • 数组 nums 中包含 5 个数字:12,345,2,6,7896。
  • 其中位数为偶数的数字有:12,2,6,共 2 个。
  • 因此函数 findNumbers 返回值为 2。

原文地址: https://www.cveoy.top/t/topic/phdi 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录