(mersen.*)
Một số nguyên tố được gọi là số Mersenne nếu nó có thể biểu diễn dưới dạng \(2^{k} - 1\) trong đó \(k\) cũng là số nguyên tố.
Yêu cầu: Cho số tự nhiên \(n\). Tìm số Mersenne lớn nhất nhưng nhỏ hơn \(n\).
Dữ liệu vào:
+ Ghi số nguyên \(n\) (\(3 < n \leq 10^{10}\)).
Kết quả:
+ Ghi số Mersenne lớn nhất nhưng nhỏ hơn n tìm được.
Ví dụ:
Input | Output | Giải thích |
---|---|---|
4 | 3 | Ta có: \(3 = 2^{2} - 1\) và 3, 2 đều là số nguyên tố. Do đó, 3 là số Mersenne lớn nhất và nhỏ hơn 4. |
Input | Output | Giải thích |
---|---|---|
9 | 7 |
Ta có: \(7 = 2^{3} - 1\) và 7, 3 đều là số nguyên tố. Do đó, 7 là số Mersenne lớn nhất và nhỏ hơn 9. |
Ràng buộc:
40% test với \(3 < n \leq 10^{5}\).
40% test với \(10^{5} < n \leq 10^{9}\).
20% test với \(10^{9} < n \leq 10^{10}.\)
Code tích cực |
---|
Trong 24h |
Trong 7 ngày |
|
Trong 30 ngày |
|
Thống kê |
---|
AC/Sub: 97887/180710 Pascal: 17121 C++: 130348 Python: 33199 Lượt xem/tải tests: 38905 |