質數線性篩法 O n

2022-05-12 23:41:26 字數 479 閱讀 9314

埃氏篩法o(nloglogn) 仍會重複標記合數

such as :

i=2時

12=2*6,先會被 2 標記已是合數

i=3時

12=3*4,又被標記了一次

我們在生成乙個需要標記的合數時,每次只向現有的數中乘上乙個質因子,並且讓它是所生成合數的最小質因子

code

#include#include

using

namespace

std;

const

int mx=1001

;int

v[mx],prime[mx];

intn,cnt;

void

getpri()

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

}for(int i=1;i<=n;++i)

}int

main()

找素數(質數) 線性篩法和埃氏篩法

先看這道題 洛谷p1217回文質數 對於這道題,普通的暴力模擬會tle,所以得尋求改進。這裡我學會了兩種方法 第一種 線性篩法 這種演算法的核心思想就是 任何乙個合數都可以由質數相乘得到 下面就是核心 吃透了核心 就可以在其中新增點細節,然後就可以拿去解決問題了 這裡需要開多大的陣列取決自己 boo...

質數中的質數(質數篩法)

如果乙個質數,在質數列表中的編號也是質數,那麼就稱之為質數中的質數。例如 3 5分別是排第2和第3的質數,所以他們是質數中的質數。現在給出乙個數n,求 n的最小的質數中的質數是多少 可以考慮用質數篩法來做 input 輸入乙個數n n 10 6 output 輸出 n的最小的質數中的質數。input...

普通質數篩法

二 埃氏篩 三.尤拉篩法 4.質數距離 從暴力的直接迴圈開始,一步步對演算法進行優化,一步步簡化時間複雜度,並盡可能討論各種篩法的優劣,以及其中每一步的意義。思路直接,容易被像我們這樣的新手第一時間想到,乙個質數,除了1和它本身以外不再有其他因數,那麼想知道乙個數是不是質數,乾脆直接去看看它有幾個因...