Count Digits Recursively

Count digits in a number using recursion.

Logic BuildingIntermediate
Logic Building
def count_digits(n):
    # Base case
    if n == 0:
        return 0
    
    # Recursive case
    return 1 + count_digits(n // 10)

# Test
num = int(input("Enter a number: "))
result = count_digits(abs(num))
print(f"Number of digits: {result}")

Output

Enter a number: 12345
Number of digits: 5

Count = 1 + count of remaining digits.

Key Concepts:

  • Base case: 0 has 0 digits
  • Add 1 for current digit
  • Recurse on n // 10 (remove last digit)