MATH - Phân tích thừa số nguyên tố 2
Trạng thái
Đề bài
Viết chương trình phân tích một số nguyên dương \( n \) (với \( 2 \leq n \leq 10^{12} \)) thành các thừa số nguyên tố. Chương trình cần in ra kết quả dưới dạng:
- \( n = p_1^{e_1} \times p_2^{e_2} \times \dots p_m^{e_m}\), với \( p_i \) là các thừa số nguyên tố và \( e_i \) là số mũ tương ứng.
Input
- Một dòng duy nhất chứa số nguyên \( n \).
Output
- Dòng duy nhất là biểu diễn phân tích thừa số nguyên tố của \( n \). Chú ý định dạng của phân tích như test mẫu. Trước và sau dấu bằng có dấu cách trống, trước và sau dấu nhân ” * ” có dấu cách trống.
Ví dụ
Input
60
Output
60 = 2^2 * 3^1 * 5^1
Gợi ý
- Sử dụng thuật toán chia dần (đếm số lần chia hết cho từng số nguyên tố, các số từ i chạy từ 2 trở đi nếu n chia hết chi i thì tiến hành chia cho i ra khỏi n cho tới khi không chia được nữa và đếm số mũ tương ứng).
- Các thừa số nguyên tố phải được sắp xếp theo thứ tự tăng dần.
Giới hạn
-
Subtask 1: \( n \leq 10^6 \).
-
Subtask 2: \( 10^6 < n \leq 10^{12} \).
Thông tin
Thông tin bài tập
Điểm
100
Giới hạn thời gian:
0.5s
Giới hạn bộ nhớ:
977 M
I/O
stdin -> stdout
Tác giả
Loại đề bài
Số học: Phân tích thừa số nguyên tố
Ngôn ngữ cho phép
C, C#, C++, Java, Pascal, Python, Text