contest1_bai1 - Bài 1
Xem dạng PDF
Gửi bài giải
Điểm:
6,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
BAI1.INP
Output:
BAI1.OUT
Dạng bài
Ngôn ngữ cho phép
C++ (Themis), Pascal (Themis), Python
Cho số nguyên dương ~n~. Nhiệm vụ của bạn là xác định xem ~n~ có phải là số nguyên tố hay không. Nếu ~n~ không phải là số nguyên tố, hãy đếm số lượng ước dương của nó.
Dữ liệu vào từ tệp văn bản BAI1.INP có cấu trúc:
- Dòng đầu tiên chứa số nguyên dương ~t~ (~1 \le t \le 10^5~) là số lượng bộ dữ liệu (test case).
- ~t~ dòng tiếp theo, mỗi dòng chứa một số nguyên dương ~n~ (~1 \le n \le 10^6~).
Kết quả ghi ra tệp văn bản BAI1.OUT có cấu trúc: Ghi ra ~t~ dòng, mỗi dòng tương ứng với một test case:
- Nếu ~n~ là số nguyên tố, in ra -1.
- Nếu ~n~ không phải là số nguyên tố (là hợp số hoặc số 1), in ra số lượng ước dương của ~n~.
BAI1.INP
3
2
4
6
BAI1.OUT
-1
3
4
Giải thích
- ~n = 2~ là số nguyên tố ~\rightarrow~ In -1.
- ~n = 4~ không là số nguyên tố, có các ước ~\{1, 2, 4\}~ ~\rightarrow~ In 3.
- ~n = 6~ không là số nguyên tố, có các ước ~\{1, 2, 3, 6\}~ ~\rightarrow~ In 4.
Ràng buộc:
- Subtask 1: 40% số điểm có ~n \le 10^3, t \le 100~.
- Subtask 2: 60% số điểm có ~n \le 10^6, t \le 10^5~.
Bình luận