Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi
    solution
    Đăng nhập
    Đăng nhập

    Đề bài: Đếm số nguyên tố trong khoảng [1, N] bằng đa luồng

    📖Cần ôn lý thuyết? Đọc bài giảng Buổi 9: Lập trình đa luồng — khóa Lập trình Java

    Cho số nguyên N. Hãy đếm số lượng số nguyên tố trong khoảng [1, N] bằng cách chia khoảng cho K thread.

    1. Định nghĩa lớp PrimeCounter extends Thread, mỗi thread phụ trách một đoạn liên tiếp trong [1, N].
    2. Hàm kiểm tra số nguyên tố sử dụng vòng lặp đến sqrt(x) (x < 2 thì không phải nguyên tố).
    3. Mỗi thread giữ localCount, sau join() cộng dồn lại.
    4. In ra một số nguyên.
    • Định dạng đầu vào:
      • Dòng 1: N (1 ≤ N ≤ 10⁶)
      • Dòng 2: K (số luồng, 1 ≤ K ≤ 32)
    • Ràng buộc đầu vào:

      1 ≤ N ≤ 10⁶

    • Định dạng đầu ra:

      Số lượng số nguyên tố trong [1, N].

    Ví dụ:

    Đầu vào:

    10
    2
    

    Đầu ra:

    4
    

    Giải thích:

    Số nguyên tố ≤ 10: 2,3,5,7 → 4.

    Đầu vào:

    20
    4
    

    Đầu ra:

    8
    

    Giải thích:

    2,3,5,7,11,13,17,19 → 8.

    Đầu vào:

    1
    1
    

    Đầu ra:

    0
    

    Giải thích:

    1 không phải nguyên tố.

    Đầu vào:

    2
    1
    

    Đầu ra:

    1
    

    Giải thích:

    Chỉ có 2.

    Chủ đề

    ☕ JavaJavaThreadTất cả môn học

    Đang tải editor...