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