Số một số (Tin học trẻ A - Vòng Sơ khảo 2021)

Xem PDF

Điểm: 100 (p) Thời gian: 2.0s Bộ nhớ: 1G Input: bàn phím Output: màn hình

Số một số là một số tự nhiên mà các chữ số của số đó giống nhau.

Ví dụ: \(1,8,111,555,99999,...\)

Cho một số tự nhiên \(N\). Hãy đếm số lượng số một số bé hơn hoặc bằng \(N\).

Input

  • Một dòng chứa một số tự nhiên \(N\) (\(N \le 10^9\)).

Output

  • Một số duy nhất là số lượng số thỏa mãn đề bài.

Example

Test 1
Input
15
Output
10
Note

Khi \(N=15\) thì có \(10\) số là \(1,2,3,4,5,6,7,8,9,11\).

Test 2
Input
111
Output
19
Note

Khi \(N = 111\) thì có \(19\) số là:

  • \(9\) số từ \(1\) đến \(9\).
  • \(9\) số \(11,22,33,...,99\).
  • \(1\) số \(111\).

Bình luận


  • 0
    TA_Babymonster    9:49 a.m. 14 Tháng 11, 2024

    code python:
    def count_same_digit_numbers(N):
    count = 0
    str_N = str(N)
    length_N = len(str_N)

    for digit in range(1, 10):  # Các chữ số từ 1 đến 9
        for i in range(1, length_N + 1):
            number = int(str(digit) * i) 
            if number <= N:
                count += 1
            else:
                break 
    return count
    

    Đọc đầu vào

    N = int(input())

    Xuất kết quả

    print(count_same_digit_numbers(N))

    • 4 bình luận nữa