Kiểm tra số nguyên tố
Kiểm tra nguyên tố là bước mở đầu của mật mã và sàng số. Thử chia mọi số từ 2 tới n-1 tốn O(n); chỉ cần tới √(n) vì nếu n = u × v thì một thừa số không vượt quá √(n).
Tiến độ của tôi ở bài này
Điểm được lưu vào tài khoản sau khi chấm bài.
Đang tải điểm của bạn…
Kiến thức và chủ đề
Kiến thức tiên quyết: while loop, modulo.
Nội dung đề bài
Mô tả bài toán
Kiểm tra nguyên tố là bước mở đầu của mật mã và sàng số. Thử chia mọi số từ 2 tới n-1 tốn O(n); chỉ cần tới √(n) vì nếu n = u × v thì một thừa số không vượt quá √(n).
Yêu cầu
Đọc số nguyên n từ stdin; in YES nếu n là số nguyên tố, ngược lại NO. Số 0 và 1 không phải số nguyên tố.
Quy ước nộp bài
- Chỉ cần viết một chương trình đọc
stdinvà in rastdout. Bài này không yêu cầu viết hàm. - Không dùng
coutđể in lời nhắc trước khi đọc dữ liệu. Lời nhắc sẽ lọt vàostdoutvà làm bài sai. - Chỉ in đúng nội dung ở mục Output. Không in thêm nhãn, dòng trống hay ký tự thừa.
- Output được so khớp từng ký tự, phân biệt chữ hoa/thường và dấu câu.
Input
Một dòng chứa số nguyên n.
Output
YES hoặc NO.
Ràng buộc
- 0 ≤ n ≤ 1012.
Ví dụ 1
Input
29Output
YES
Không số nào từ 2 tới $\lfloor\sqrt{29}\rfloor = 5$ chia hết 29.Ví dụ 2
Input
1Output
NO
Theo định nghĩa, 1 không phải số nguyên tố.Gợi ý và lời giải chỉ mở sau khi bạn bấm Nộp bài. Giáo viên và quản trị viên mở được ngay.
Góp ý & báo lỗi bài tập
Đề bài chưa rõ, test có vấn đề hay bạn có ý tưởng giúp bài tốt hơn? Gửi cho đội ngũ AI Empire nhé — mỗi góp ý đều được đọc.
