洛谷P2640 神秘磁石(尤拉篩法)

2022-05-30 05:15:11 字數 918 閱讀 3552

在遙遠的阿拉德大陸,有一種神秘的磁石,是由魔皇製作出來的,

1.若給他乙個一維座標系,那麼他的磁力一定要在素數座標的位置上才能發揮的最大(不管位置座標的大小,只要是素數那麼磁力就一樣大)

2.若兩個磁石相距為k,那麼磁石間的破壞力將會達到當前磁力的峰值

顯然,兩磁石間最大破壞力取決於磁力大小和磁石間距,那麼請問給出長度不超過n的一維座標系,有哪幾對座標間磁石破壞力最大。

輸入格式:

兩個正整數n,k。1<=k<=n<=10000

輸出格式:

所有小於等於n的素數對。每對素數對輸出一行,中間用單個空格隔開。若沒有找到任何素數對,輸出empty。

題解

篩出從1到n的所有素數,並存到乙個陣列中。同時開乙個bool陣列記錄是否是素數。迴圈素數陣列,判斷當前項加k是否也是素數。同時要注意判斷是否有符合條件的結果,若沒有則輸出empty

#includeusing

namespace

std;

const

int maxn=10002

;bool

flag[maxn]; //記錄是否是素數

ints[maxn]; //記錄所有素數

int s2=1

; //記錄素數個數

void e(int

n); //篩法

intmain()

}if(bo==false

) cout

<<"

empty

";

return0;

}void e(int

n)

for(int j=1;j<=s2+1;j++)

}}

洛谷 P3383 篩素數 尤拉篩素數模板

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

尤拉篩,線性篩,洛谷P2158儀仗隊

題目 首先我們先把題目分析一下。emmmm,這應該是乙個找規律,應該可以打表,然後我們再分析一下,發現如果這個點可以被看到,那它的橫座標和縱座標應該互質,而互質的條件就是它的橫座標和縱座標的最大公約數為一,那這題的意思就變成了,在乙個n n的方格內尋找所有點的橫座標和縱座標互質的點的個數。但是這樣複...

洛谷p1835 素數密度 (線性尤拉篩,埃式篩)

題目分析 難度 普及 提高 暴力40分做法 從l到r進行列舉,然後判斷是否為素數!但這樣顯然是不對的,要結合篩法來解決此題,雖然l,r的範圍是整個int的取值,但是兩者的差值為1e6,可以從此突破!預備知識 解決乙個問題 求出不大於n的素數的個數 樸素篩法 時間複雜度 o n根號n 普通樸素演算法 ...