THPTTD_111 - Đếm bội số

Xem dạng PDF

Gửi bài giải

Điểm: 10,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: countdiv.inp
Output: countdiv.out

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, JavaScript, Kotlin, Pascal, Perl, PHP, Python, Ruby, Rust, Scratch, Swift

Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài


Bình luận

Hãy đọc nội quy trước khi bình luận.



  • 1
    lephuochauhungvuong  đã bình luận lúc 11, Tháng 3, 2025, 7:53
    #include <iostream>
    #include <fstream>
    #include <algorithm>
    
    using namespace std;
    
    // Hàm tính GCD (ước chung lớn nhất)
    long long gcd(long long a, long long b) {
        while (b != 0) {
            long long temp = b;
            b = a % b;
            a = temp;
        }
        return a;
    }
    
    // Hàm tính LCM (bội chung nhỏ nhất)
    long long lcm(long long a, long long b) {
        return (a * b) / gcd(a, b);
    }
    
    // Hàm đếm bội số của x trong đoạn [L, R]
    long long countMultiples(long long x, long long L, long long R) {
        return (R / x) - ((L - 1) / x);
    }
    
    int main() {
        // Mở file đầu vào và đầu ra
        ifstream in("countdiv.inp");
        ofstream out("countdiv.out");
    
        int T;
        in >> T;
    
        while (T--) {
            long long L, R, a, b;
            in >> L >> R >> a >> b;
    
            // Tính LCM của a và b
            long long lcm_ab = lcm(a, b);
    
            // Đếm số bội số của a, b và lcm(a, b) trong đoạn [L, R]
            long long result = countMultiples(a, L, R) + countMultiples(b, L, R) - countMultiples(lcm_ab, L, R);
    
            // In kết quả vào file đầu ra
            out << result << endl;
        }
    
        // Đóng file
        in.close();
        out.close();
    
        return 0;
    }
    

  • -2
    dung0910zz  đã bình luận lúc 26, Tháng 9, 2024, 15:38

    AC dễ


  • -1
    DuckYB  đã bình luận lúc 1, Tháng 7, 2024, 2:57

    thế quái nào trong đoạn từ 5 -> 11 lại có 2 bội của 4 hoặc 2 bội của 6 vậy?????!!!!!!!!!!


    • 1
      vudinhlong  đã bình luận lúc 4, Tháng 7, 2024, 6:34

      Chắc là số 6 và số 8 á bạn ._.