線性篩素數

2021-08-13 02:33:08 字數 509 閱讀 2074

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

輸入格式:

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

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

輸出格式:

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

#include#include#includeusing namespace std;

int n,m,s,t;

int search(int m)

if(m==2)

for(register int b=2;b<=sqrt(m);b++) }

}int main()

{ cin>>n>>m;

for(register int a=1;a<=m;a++)

{ cin>>s;

t=search(s);

if(t==1)

{ cout<<"no"<

素數篩法(素數篩 線性篩)

求素數的方法在現階段可以總結為三種 這種方法最為簡單但效率太低,經過優化時間複雜度最低是o n sqrt n 輸入乙個n,輸出n以內所有素數 include intprime int n if flag 0 優化 printf d i intmain 素數篩法原理 2是素數,那麼2的所有倍數都是合數...

素數線性篩

ps 證明 神牛部落格。include include using namespace std const int n 100100 int v n p n n,m,tot int main 首先,先明確乙個條件,任何合數都能表示成一系列素數的積。不管 i 是否是素數,都會執行到 關鍵處1 如果 i...

線性素數篩

兩個星期之前,如果你讓我篩一下素數,我會告訴你很簡單,然後一頓敲 define size 1000000 int main int pos int flag for int i 2 i size i if flag 1 printf 2f double clock clocks per sec re...