目录

LC 2180. 统计各位数字之和为偶数的整数个数 (opens new window) (opens new window)

简单

# 问题描述

给你一个正整数 num ,请你统计并返回 小于或等于 num 且各位数字之和为 偶数 的正整数的数目。

正整数的 各位数字之和 是其所有位上的对应数字相加的结果。

示例 1:

输入:num = 4
输出:2
解释:
只有 2 和 4 满足小于等于 4 且各位数字之和为偶数。

示例 2:

输入:num = 30
输出:14
解释:
只有 14 个整数满足小于等于 30 且各位数字之和为偶数,分别是:
2、4、6、8、11、13、15、17、19、20、22、24、26 和 28 。

提示:

  • 1 <= num <= 1000

# 模拟

按题意模拟即可。

/**
 * @param {number} num
 * @return {number}
 */
var countEven = function (num) {
  const isEven = (n) => {
    let sum = 0
    while (n > 0) {
      sum += n % 10
      n = ~~(n / 10)
    }
    return sum % 2 === 0
  }
  let ans = 0
  for (let i = 1; i <= num; i++) {
    if (isEven(i)) ans++
  }
  return ans
}
  • 时间复杂度:O(num×lognum)O(num \times \log {num})
  • 空间复杂度:O(1)O(1)
上次更新: 2023/01/31 19:48:05

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 , 转载请注明出处!