Đ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à:
- Có \(9\) số từ \(1\) đến \(9\).
- Có \(9\) số \(11,22,33,...,99\).
- Có \(1\) số \(111\).
Bình luận
code python:
def count_same_digit_numbers(N):
count = 0
str_N = str(N)
length_N = len(str_N)
Đọc đầu vào
N = int(input())
Xuất kết quả
print(count_same_digit_numbers(N))
n = int(input())
l = len(str(n))
s = 0
s += (l - 1) * 9
x = 0
for i in range(l):
x += 10 ** i
s += n // x
print(s)
ngắn thôi, khỏi cần dài
dùng xâu
Bình luận bị ẩn vì nhiều phản hồi tiêu cực. Nhấp vào đây để mở.
Bình luận bị ẩn vì nhiều phản hồi tiêu cực. Nhấp vào đây để mở.