Điểm:
300 (p)
Thời gian:
0.2s
Bộ nhớ:
256M
Input:
bàn phím
Output:
màn hình
Một số tự nhiên được gọi là một số hồi văn nếu ta đọc từ trái sang phải hoặc từ phải sang trái đều như nhau.
Ví dụ: số \(23432\) là một số hồi văn.
Yêu cầu: Cho trước 2 số tự nhiên \(a,b\) với \(a \leq b \leq 10^{16}\). Hỏi có bao nhiêu số hồi văn \(x\) thỏa mãn \(a \leq x \leq b\).
Input
- Một dòng ghi 2 số tự nhiên \(a, b\) trên một dòng với \(a, b \leq 10^{16}\).
Output
- Ghi ra một số nguyên \(k\) là số các số hồi văn \(x\) thỏa mãn \(a \leq x \leq b\).
Example
Test 1
Input
100 191
Output
10
Bình luận
.\
import math
def sol(a,b):
a = str(a)
b = str(b)
l=int(a[:math.ceil(len(a)/2)])
r=int(b[:math.ceil(len(b)/2)])
if b<=b[::-1]:
return r-l+1
return r-l
a, b = map(int, input().split())
kq = -1 if a < int(str(a)[::-1]) else 0
if len(str(a))==len(str(b)):
kq += (sol(a, b))
print(kq)
else:
s = a
for i in range(len(str(a)), len(str(b))):
kq += sol(s, '9' * i)
s = str(10**i)
kq += sol(s, b)
print(kq)
bài này dùng tính chất số học và quay lui
all hướng dẫn e bài này với ạ