SODEP - Số đẹp 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ố được coi là đẹp nếu nó là "số đối xứng" và tổng các chữ số của nó chia hết cho ~10~.

Cho hai số nguyên dương ~l, r~, đếm xem có bao nhiêu số đẹp 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:

  • Có không quá ~10^4~ dòng (tests), ~1≤l≤r≤10^9,r-l≤10^4~

Output

  • Với mỗi cặp số ~l, r~, in ra trên một dòng số số đẹp trong đoạn ~[l, r]~.

Sample

Input #1
1 10
11 100
Output #1
0
1

Problem source: Chuyên Sơn La Online Judge


Bình luận

Please read the guidelines before commenting.



  • 1
    mducc  đã bình luận lúc 3, Tháng 6, 2026, 3:23

    hint

    ta có thể viết hàm check đối xứng và tcs chia hết cho 10 như sau:

    code tham khảo (c++)

    #include <bits/stdc++.h>
    using namespace std;
    bool dx(long long x) {
        string s = to_string(x); 
        string t = s; 
        reverse(s.begin(), s.end()); 
        return s == t; 
    }
    bool check(long long x) {
        if(!dx(x)) return false;
        int s = 0; 
        while(x > 0) s += x % 10, x /= 10; 
        return s % 10 == 0;  
    }
    int main() {
        ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
        long long l, r; 
        while(cin >> l >> r) {
            int ans = 0; 
            for(int i = l; i <= r; ++i) 
                if(check(i)) ans++; 
            cout << ans << endl; 
        }
    }
    

  • 0
    nhankiettvt  đã bình luận lúc 7, Tháng 1, 2026, 13:35

    CODE FULL AC CHO AE

    #include <bits/stdc++.h>
    using namespace std;
    using ll = long long;
    using ull = unsigned long long;
    bool so_dep(int n){
        string s=to_string(n);
        string s2=s;
        reverse(s.begin(),s.end());
        return s2==s;
    }
    int tong_so(int n){
        int t = 0;
        while (n){
            t+=n%10;
            n/=10;
        }
        return t;
    }
    int main()
    {
        ios::sync_with_stdio(false);
        cin.tie(nullptr);
        int l,r;
        while (cin >> l >> r){
            int dem=0;
            for (int i = l; i < r;i++){
                if (so_dep(i) && tong_so(i)%10==0){
                    dem++;
                }
            }
            cout << dem << "\n";
        }
        return 0;
    }
    

  • 0
    congtyluuthaibao1978  đã bình luận lúc 25, Tháng 11, 2025, 12:15

    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 sumDigits(long long x) { int sum = 0; while (x > 0) { sum += x % 10; x /= 10; } return sum; }

    int main() { ios::syncwithstdio(false); cin.tie(nullptr);

    long long l, r;
    while (cin >> l >> r) {
        int count = 0;
        for (long long x = l; x <= r; x++) {
            if (isPalindrome(x) && sumDigits(x) % 10 == 0) {
                count++;
            }
        }
        cout << count << "\n";
    }
    return 0;
    

    }