NPALIN2 - Số đối xứng 2
Xem dạng PDF
Gửi bài giải
Điểm:
1,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, Pascal, Perl, PHP, PyPy, Python, Ruby, Rust, Scratch, Swift
Một số nguyên dương được gọi là số đối xứng nếu khi viết các chữ số của nó (trong hệ thập phân) theo thứ tự ngược lại ta vẫn được chính số đó.
Cho hai số nguyên dương ~l, r~, đếm xem có bao nhiêu số đối xứng trong đoạn ~[l, r]~.
Input
- Gồm nhiều dòng, mỗi dòng ghi hai số nguyên dương ~l, r~ cách nhau bởi dấu cách.
Giới hạn:
- Mỗi bộ test có không quá ~10^3~ dòng
- ~1≤l≤r≤10^{15},r-l≤10^5~
Output
- Với mỗi cặp số ~l, r~, in ra trên một dòng số lượng số đối xứng trong đoạn ~[l, r]~.
Sample
Input #1
1 10
11 30
Output #1
9
2
Problem source: Chuyên Sơn La Online Judge
Bình luận
hint
Hàm dx(x): kiểm tra số đối xứng (palindrome).
Chuyển số thành xâu.
So sánh ký tự đầu và cuối, lặp vào trong.
main:
Đọc vô hạn các cặp l, r cho đến khi hết file.
Với mỗi cặp, duyệt từ l đến r, đếm số đối xứng.
In kết quả.
code tham khảo (c++)
include <bits/stdc++.h>
using namespace std;
bool isPalindrome(long long x) { string s = to_string(x); string t = s; reverse(t.begin(), t.end()); return s == t; }
int main() { ios::syncwithstdio(false); cin.tie(nullptr);
}