基於求素數的數學題

2022-09-19 12:45:12 字數 639 閱讀 3996

1.首先來看一下如何最快最簡單判斷乙個數是否是素數:

這個大佬的部落格寫的很好:

1

bool isprime (int

num)

2

2.接下來看一下看一下在0-n之間的素數如何最快求出:

尤拉篩法:

他是2.埃氏篩的進化版:

埃拉託斯特尼篩法,利用當前已經找到的素數,從後面的數中篩去當前素數的倍數。

原理:每個大於1的正整數n都可以表示成素數之積的形式。所以在1到n中乙個數若不是素數,一定會被篩到。

複雜度:o(n*lglgn),近似為o(n)。

缺點:會重複判斷,如果資料很大會不好,如12,在素數2與素數3時就被判了兩次;

bool number[maxn+5];

void isprime()

}}

而尤拉篩法只會遍歷各個數一遍:

我們發現每個數都有最小質因數,且只有乙個,如12的是2,18的是2,9的是3等等;

利用這個性質有:

1

bool function (int

num)210

for (int j=0;j)

1121}22

}23 }

演算法工程師數學題(2)篩法求素數

參考 原理 篩法的思想是去除要求範圍內所有的合數,剩下的就是素數了,而任何合數都可以表示為素數的乘積,因此如果已知乙個數為素數,則它的倍數都為合數。一般篩法求素數 include cstdio include cstring using namespace std define n 100 求n範圍...

小學數學題

小學數學題1 usetyp 1 目標 擷取字串usetyp 注意,usetyp的長度是可變的 問題 求以上字串usetyp的長度 注意usetyp的長度是不固定 設usetyp的長度 p 已知1 號的索引位置x indexof 已知理論2 字串長度 最大索引 1 所以,p x 1 3 p x 2 所...

數學題亂記

在 delta abc 中,滿足 cos 2 cfrac 判斷三角形形狀。其中 begin cos 2 cfrac cfrac cfrac sin 1 cos cfrac sin 1 cos cfrac 1 cos cfrac cos cfrac end 根據餘弦定理有 cos cfrac 所以可得...