3 solutions

  • 3
    @ 2025-5-25 10:31:21

    既然TLE,那就不用循环了呗!

    LONG LONG法(100分)

    #include <iostream>
    using namespace std;
    
    int main() {
        long long x, y;
        cin >> x >> y;
        
        auto compute = [x, y](long long k) {
            return (y / k) - ((x - 1) / k);
        };
        
        long long count_7 = compute(7);
        
        long long count_14 = compute(14);
        long long count_21 = compute(21);
        long long count_35 = compute(35);
        
        long long count_42 = compute(42);
        long long count_70 = compute(70);
        long long count_105 = compute(105);
        long long count_210 = compute(210);
        
        long long sum_single = count_14 + count_21 + count_35;
        long long sum_double = count_42 + count_70 + count_105;
        long long sum_triple = count_210;
        
        long long exclude = sum_single - sum_double + sum_triple;
        long long result = count_7 - exclude;
        
        cout << result;
        
        return 0;
    }

    Information

    ID
    137
    Time
    2000ms
    Memory
    512MiB
    Difficulty
    9
    Tags
    (None)
    # Submissions
    196
    Accepted
    15
    Uploaded By