Số Mersenne Tiềm Năng

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
Input: stdin
Output: stdout

Dạng bài

Một số nguyên tố p được gọi là "Mersenne Tiềm Năng" nếu giá trị (2^p - 1) là một số nguyên tố. Khi đó, nó sẽ tạo ra được một số hoàn hảo.

Cho một số nguyên dương X, hãy liệt kê tất cả các số nguyên tố p <= X sao cho p là "Mersenne Tiềm Năng".


Input:

  • Số nguyên dương X.

Giới hạn:

  • 1 <= X <= 31 (Vì 2^31 - 1 là giới hạn số nguyên int, nếu dùng long long thì X <= 61).

  • Để bài toán phù hợp với hệ thống chấm phổ thông, giả sử X <= 61.

Output:

  • Các số p thỏa mãn, in cách nhau một khoảng trắng.

Ví dụ

Input:
10
Output:
2 3 5 7

Gợi ý thuật toán:

Duyệt các số nguyên tố p <= X.

Tính M = 2^p - 1.

Kiểm tra tính nguyên tố của M. (Lưu ý M có thể lên tới 10^18, cần dùng hàm kiểm tra nguyên tố hiệu quả độ phức tạp O(sqrt(M))).


Bình luận

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


Không có bình luận tại thời điểm này.