P161PROA - ROUND 1A - Số gần nguyên tố

Người Gửi: Sai

  • Problem:

Chúng ta đều biết số nguyên tố là số nguyên dương mà chỉ có duy nhất 2 ước phân biệt. Iron man luôn thích những cái đặc biệt và mới mẻ, và anh ra đưa ra 1 định nghĩa mới “Số gần nguyên tố” – là các số nguyên dương mà có đúng 3 ước phân biệt.  
Bạn được cho 1 mảng có n phần tử, hãy kiểm tra xem từng phần tử trong mảng có phải là số gần nguyên tố hay không.


Input

Dòng đầu tiên nhập vào số tự nhiên n (1 <= n <= 10^5) là số phần tử của mảng.  
Dòng tiếp theo nhập n số nguyên dương x[i] (1 <= x[i] <= 10^12)
Output
In ra trên n dòng: dòng thứ i in “YES” nếu x[i] là số gần nguyên tố, ngược lại thì in “NO”.
Example:
Input
3
4 5 6
Output:
YES
NO
NO

  • Solution:

Số mà có 3 ước thì chỉ có trường hợp số đó là số chính phương và căn 2 (của nó) là số nguyên tố. 
- Vậy chỉ cần kiểm tra hai điều kiện: n là số chính phương và sqrt(n) là số nguyên tố.

  • Code:

C++:



JAVA:


Share this

Related Posts

Previous
Next Post »

1 nhận xét:

nhận xét