Count Integers With Even Digit Sum — LeetCode 2180 Python Solution
- Problem
- #2180
- Pattern
- Math and Number Theory
- Reading time
- 2 min
- Source
- leetcode.com
The problem
Given a positive integer num, return the number of positive integers less than or equal to num whose digit sums are even. The digit sum of a positive integer is the sum of all its digits.
Example
- Input
- num = 4
- Output
- 2
- Explanation
- The only integers less than or equal to 4 whose digit sums are even are 2 and 4.
Python solution
class Solution:
def countEven(self, num: int) -> int:
ans = 0
for x in range(1, num + 1):
s = 0
while x:
s += x % 10
x //= 10
ans += s % 2 == 0
return ansComplexity
| Measure | Complexity |
|---|---|
| Time | O(n) or O(1) |
| Space | O(1) auxiliary |
Pattern: Math and Number Theory
Find the closed form, the invariant, or the modular identity — and skip the loop entirely. LeetCode 2180. Count Integers With Even Digit Sum is filed here on both counts: the reference solution below belongs to the algorithm family this hub collects, and LeetCode tags it Math.
The math and number theory guide has the Python template for the pattern and the 485 LeetCode problems that use it.
Related problems
Frequently asked questions
- How hard is LeetCode 2180. Count Integers With Even Digit Sum?
- LeetCode 2180. Count Integers With Even Digit Sum is rated Easy on LeetCode.
- What topics does LeetCode 2180. Count Integers With Even Digit Sum cover?
- LeetCode 2180. Count Integers With Even Digit Sum is tagged Math and Simulation on LeetCode.