Thông điệp vũ trụ

View as PDF

Submit solution

Points: 0.10 (partial)
Time limit: 1.0s
Memory limit: 256M

Problem type
Allowed languages
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Một hôm bạn KaJo đi xem bói, thầy bói cho bạn một dãy các chữ cái la tinh in hoa tuần hoàn dài vô hạn được đánh số từ ~0~ như sau:

~['A', 'B', 'C', 'D', ..., 'Z', 'A', 'B', 'C', ...]~

Kèm theo đó là một số nguyên dương ~M~ là mật mã của thông điệp vũ trụ. Biết thông điệp được tạo nên từ các chữ cái ở vị trí là số nguyên tố (một số nguyên tố được định nghĩa là một số nguyên dương có đúng 2 ước số là 1 và chính nó) và là ước số của số ~M~.

Hãy giúp KaJo giải mã thông điệp vũ trụ này và in ra thông điệp có thứ tự từ điển nhỏ nhất.

Input Format

  • Một dòng duy nhất là số nguyên dương ~M~ (~2 \le M \le 10^{12}~).

Output Format

  • Một dòng duy nhất là thông điệp vũ trụ có thứ tự từ điển nhỏ nhất.

Sample Input 1

18

Sample Output 1

CD

Sample Input 2

1450

Sample Output 2

CDF

Note:

  • Ở ví dụ 1, thông điệp vũ trụ được kết hợp bởi các kí tự được đánh số ~2~ và ~3~, vì thế thông điệp có thể là ~CD~ hoặc ~DC~, ta lấy ~CD~ vì có thứ tự từ điển nhỏ nhất.

Comments

Please read the guidelines before commenting.



  • 6
    Groot  commented on June 27, 2024, 5:37 a.m.

    Gợi ý: Đừng suy nghĩ phức tạp

    Phân tích thừa số nguyên tố

    Với mỗi thừa số x -> push_back(x % 26) vào vector P

    Sort lại, chạy vòng for qua vector P rồi với mỗi P[i] => answer += P[i] + 'A'