Số Hoàn Hảo Thứ K

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

Người ta sắp xếp các số hoàn hảo theo thứ tự tăng dần: 6, 28, 496, ...

Yêu cầu bạn tìm số hoàn hảo thứ K trong dãy số này.


Input:

  • Một số nguyên dương K.

Giới hạn:

  • 1 <= K <= 8.

(Vì trong giới hạn 64-bit chỉ có 8 số hoàn hảo).

Output:

  • In ra số hoàn hảo thứ K.

Ví dụ

Input:
2
Output:
28

Gợi ý thuật toán:

Vì số lượng số hoàn hảo rất ít, bạn không thể "tìm kiếm" chúng. Hãy "sinh" ra chúng.

Duyệt các số nguyên tố p = 2, 3, 5, 7, 13, 17, 19, 31...

Tính M = 2^p - 1. Nếu M là số nguyên tố -> Tính N = 2^(p-1) * M và lưu vào danh sách kết quả.


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.