Điểm:
200 (p)
Thời gian:
1.0s
Bộ nhớ:
256M
Input:
bàn phím
Output:
màn hình
Hôm nay, em gái của hdm học về số nguyên tố nên hdm quyết đinh ra một bài tập cho em. Đề bài như sau: Cho một số tự nhiên \(N\), kiểm tra \(N\) có phải số nguyên tố hay không. Nhưng em gái hdm lại làm xong (và đương nhiên là đúng) quá nhanh, nên hdm quyết đinh ra thật nhiều bài nữa. Hãy giúp em gái hdm giải các bài đó nhé.
Input
- Dòng đầu ghi một số nguyên dương \(K\) là số số cần kiểm tra.
- \(K\) dòng tiếp theo mỗi dòng ghi một số tự nhiên \(N\) là số cần kiểm tra.
Output
- In ra \(K\) dòng, mỗi dòng là YES nếu số đó là số nguyên tố, và NO nếu không phải.
Scoring
- Subtask \(1\) (\(20\%\) số điểm): \(K \lt 10^3,N \lt 10^7\).
- Subtask \(2\) (\(80\%\) số điểm): \(K \lt 10^6,N \lt 10^7\).
Example
Test 1
Input
2
2
9
Output
YES
NO
Bình luận
hình như có test đề bài cho ra YE
sao bài này nó lại YES NO
tui ra NO YES thì phải lm sao ạ
python nha:
import sys
input=sys.stdin.readline
print=sys.stdout.write
def sangnt():
for p in range(2,LIMIT+1):
if sieve[p]:
for m in range(2p,LIMIT+1,p):
sieve[m]=False
LIMIT=10**7
sieve=[True](LIMIT+1)
sieve[0]=sieve[1]=False
t=int(input())
sangnt()
for _ in range(t):
n=int(input())
if sieve[n]==True:
print("YES\n")
else:
print("NO\n")
Hint
Dùng sàng nguyên tố đến \(10^7\), nhập rồi xét nó trong sàng
Lưu ý rằng nếu dùng endl trong c++ thì bị TLE còn nếu dùng "\n" thì lại AC
(Phải dùng ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); thì mới không bị TLE)
Code C++: https://ideone.com/jySYst
python 3 khó a quá
LOL, dùng "\n" thì AC còn endl thì Time Limit =))
bài ni mình dùng sàng nguyên tố cũng ac nha các bạn ;-;
chạy sàng bool check cũng tle quái thật