洛谷 P3383 模板 線性篩素數

2021-09-03 00:07:10 字數 1389 閱讀 2647

如題,給定乙個範圍n,你需要處理m個某數字是否為質數的詢問(每個數字均在範圍1-n內)

輸入格式:

第一行包含兩個正整數n、m,分別表示查詢的範圍和查詢的個數。

接下來m行每行包含乙個不小於1且不大於n的整數,即詢問該數是否為質數。

輸出格式:

輸出包含m行,每行為yes或no,即依次為每乙個詢問的結果。

**

1

var2

n,m,nm:longint;

3 v,prime:array [0..10000001] of

longint;

4procedure

try1;

5var

6i,j:longint;

7begin

8 nm:=0

;9 v[1]:=1;10

for i:=2

to10000000

do11

begin

12if v[i]=0

then

13begin

14inc(nm);

15 prime[nm]:=i;

16end

;17 j:=1;18

while (j<=nm) and (i*prime[j]<=10000000) do

19begin

20 v[i*prime[j]]:=1;21

if i mod prime[j]=0

then

break;

22inc(j);

23end;24

end;

25end;26

27procedure

init;

28var

29i,x:longint;

30begin

31readln(n,m);

32for i:=1

to m do

33begin

34readln(x);

35if v[x]=0

then writeln('

yes')36

else writeln('no'

);37

end;

38end;39

40begin

41try1;

42init;

43end.

洛谷 P3383 模板 線性篩素數

題目大意 如題,給定乙個範圍n,你需要處理m個某數字是否為質數的詢問 每個數字均在範圍1 n內 時空限制 500ms 128m 資料規模 對於30 的資料 n 10000,m 10000 對於100 的資料 n 10000000,m 100000 題解 數學方法 線性篩素數 很多人都是找到乙個素數,...

P3383 模板 線性篩素數 洛谷

題目描述 如題,給定乙個範圍 n,有 q 個詢問,每次輸出第 k 小的素數。輸入格式 第一行包含兩個正整數 n,q,分別表示查詢的範圍和查詢的個數。接下來 q 行每行乙個正整數 k,表示查詢第 k 小的素數。輸出格式 輸出 q 行,每行乙個正整數表示答案。輸入輸出樣例 輸入 1 複製 100 512...

洛谷 P3383 模板 線性篩素數

如題,給定乙個範圍n,你需要處理m個某數字是否為質數的詢問 每個數字均在範圍1 n內 輸入格式 第一行包含兩個正整數n m,分別表示查詢的範圍和查詢的個數。接下來m行每行包含乙個不小於1且不大於n的整數,即詢問概數是否為質數。輸出格式 輸出包含m行,每行為yes或no,即依次為每乙個詢問的結果。輸入...