計算n以內的所有素數

2021-07-03 10:25:58 字數 440 閱讀 7248

尋找素數我們最常用的方法是暴力求解法,就是沒對於每個數n,從2找到n的開方,判斷每個數是不是素數,時間複雜度度為o(nlog2n),時間複雜度高,是肯定的,因為太「暴力」,所以,我想換個思路,其實求素數的過程,就是去除合數的過程,如果對於乙個雜湊,去除了合數,那麼留下的就是素數了,時間複雜度接近o(n),**如下:

#include using namespace std;

void prime(unsigned int number, bool flag)

//i從2判斷到number的開方

for (unsigned int i = 2; i*i<=number; i++)

}} }

}void print(int number, bool flag){

int count = 0;

for (unsigned int i = 2; i

計算整數N 以內所有素數 埃拉託色尼篩法

問題 給定正整數n n 1 求n以內所有素數 埃拉託色尼篩法利用合數質因數分解原理,首先將所有數假設為素數,標為1,然後,將已知素數的倍數 非素數 標記為0,最後,所有標為1的數即為素數。如下 include include int main int argc,char argv int i 0,j...

求N以內的所有素數

如下 include stdafx.h include conio.h include math.h include malloc.h typedef long long prime typedef struct pn 構造素數節點 struct pn next pn static pn prime...

輸出n以內的所有素數(質數)

素數 質數 除能被自己和1整除,不能被其他數整除的數叫素數,1和0既非素數也非合數。素數一定是不能整除2和3,但不能整除2和3的不一定是素數如35和49 def odd iter n liste i for i in range 2,n 1 k 0while k思路分析 1 先生成3開頭的奇數,因為...