SỐ MERSENNE

(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}.\)

Bạn cần đăng nhập để nộp bài

hpcode.edu.vn
Code tích cực
Trong 24h
  1. nongvantien11 (34/51)
  2. nnminh1806 (18/36)
  3. nhuhuyn (14/16)
Trong 7 ngày
  1. nongvantien11 (99/155)
  2. qtaydzs1tg (72/135)
  3. trungo0 (49/91)
Trong 30 ngày
  1. nongvantien11 (192/300)
  2. trungo0 (131/242)
  3. ngocbichh (110/267)
Thống kê
AC/Sub: 120817/226949
Pascal: 18142
C++: 157988
Python: 50747
Lượt xem/tải tests: 41085

Lưu Hải Phong - 2020
[email protected]