Kiểm tra số nguyên tố

Xem dạng PDF

Gửi bài giải

Điểm: 100,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Pascal, Python

Số nguyên tố là số nguyên lớn hơn ~1~ chỉ có đúng hai ước dương là ~1~ và chính nó. Cho số nguyên ~n~, hãy kiểm tra xem ~n~ có phải số nguyên tố không.

Dữ liệu vào

Một số nguyên ~n~ (~1 \le n \le 10^9~).

Kết quả

In ra YES nếu ~n~ là số nguyên tố, ngược lại in NO.

Ví dụ

Ví dụ 1

Input:

7

Output:

YES

Ví dụ 2

Input:

10

Output:

NO

Giải thích

Gợi ý: nếu ~n~ có một ước ~d~ thì ~n / d~ cũng là ước, nên chỉ cần thử các ước ~d~ với ~d \times d \le n~. Nhờ vậy với ~n \le 10^9~ ta chỉ phải thử khoảng ~31623~ giá trị. Thử mọi ước từ ~2~ đến ~n - 1~ sẽ quá chậm.


Đang tải...