Số nguyên tố

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1200 (p) Thời gian: 1.0s Bộ nhớ: 512M Input: PRIME.INP Output: PRIME.OUT

Số nguyên tố là một số nguyên dương, có chính xác hai ước dương khác nhau là \(1\) và chính nó. Ví dụ: \(7\) là số nguyên tố (ước là \(1, 7\)), còn \(6\) thì không phải (có các ước \(2, 3\) khác với \(1, 6\)). Nhắc lại, với \(a, b \in \mathbb{Z}\), \(a\) được gọi là ước của \(b\) nếu như \(b\) chia hết cho \(a\).

Yêu cầu: Cho số nguyên \(n\). Hãy kiểm tra \(n\) có phải là số nguyên tố hay không.

Input

  • Dòng duy nhất chứa số nguyên \(n\) (\(|n| \le 10^{16}\)).

Output

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

Example

Test 1

Input
5
Output
YES
Note

Số \(5\) chỉ có \(2\) ước là \(1, 5\).

Test 2

Input
1
Output
NO
Note

Số \(1\) không phải là số nguyên tố.

Scoring

  • Subtask \(1\) (\(20\%\) số điểm): \(1 \le n \le 20\)
  • Subtask \(2\) (\(30\%\) số điểm): \(|n| \le 10^6\)
  • Subtask \(3\) (\(40\%\) số điểm): \(|n| \le 10^{12}\)
  • Subtask \(4\) (\(10\%\) số điểm): không có ràng buộc gì thêm.

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.

Kỳ thi: