[Buổi 7][Hàm số học][ADV] Bài 2: Số có đúng ba ước


LÀM BÀI

Points: 100
Time limit: 2.0s
Memory limit: 256M

Author:
Problem types
Allowed languages
C++

Số có đúng ba ước

Bối cảnh

Một số nguyên dương có đúng ba ước khi cấu trúc của nó rất đặc biệt. Ví dụ 4 có các ước 1,2,4; 9 có các ước 1,3,9.

Bạn có thể giải trực tiếp bằng hàm đếm ước, hoặc nhận ra rằng số có đúng ba ước chính là bình phương của một số nguyên tố.

Yêu cầu

  1. Đọc số nguyên dương n.
  2. In YES nếu n có đúng 3 ước dương, ngược lại in NO.

Yêu cầu tổ chức code

Khuyến khích tái sử dụng hàm isPrime.

Lưu ý: Online Judge chủ yếu kiểm tra tính đúng của output. Yêu cầu tổ chức code được dùng để rèn đúng kỹ năng của buổi học và sẽ được giảng viên quan sát khi chữa bài.

Input

Một số nguyên n.

Output

YES hoặc NO.

Ràng buộc

1 ≤ n ≤ 10^12.

Ví dụ 1

Input

4

Output

YES

Giải thích

4 = 2² và 2 là số nguyên tố. Các ước của 4 là 1,2,4 — đúng 3 ước nên output YES.

Ví dụ 2

Input

9

Output

YES

Giải thích

9 = 3² và 3 là số nguyên tố. Các ước là 1,3,9 nên output YES.

Thông tin học tập

  • Module: M02
  • Buổi: B07
  • Loại bài: ADVANCED
  • Độ khó: Hard
  • Concepts: functions, divisor counting, prime squares, mathematical reasoning
  • Giới hạn kiến thức: B01-B07
  • Time limit: 2 second(s)
  • Memory limit: 256 MB
  • Point: 100

Comments

There are no comments at the moment.

Zalo