找素數 兩種比較高效的方法

2021-09-02 18:42:58 字數 740 閱讀 5205

質數(prime number),又稱素數,指在大於1的自然數中,除了1和該數自身外,無法被其他自然數整除的數(也可定義為只有1與該數本身兩個正因數的數)。大於1的自然數若不是素數,則稱之為合數。所有的偶數(除2以外)都為合數,所有的奇數不一定為奇數

①先把所有的除2以外的偶數都標記為0,所有的奇數都標記為1;

0,1標記為0,2標記為1;

②用for迴圈找出奇數中的非素數

③奇數的倍數都不為素數

例:找出101以內所有的素數

const

int maxn=

1e5+10;

int prime[maxn]

;// 質數為0 ,非質數為1

void

find_prime()

}

#include

#include

const

int max=

3e7+10;

int prime[max]

;int check[max]

;int

main()

for(

int j =

0; j < cnt; j++)}

scanf

("%d"

,&n)

;printf

("%d\n"

,check[n]);

return0;

}

TreeSet兩種自然比較方法

一 1.用treeset集合儲存自定義物件,無參構造方法使用的是自然排序對元素進行排序的自然排序,2.就是讓元素所屬的類實現comparable介面,重寫compareto t o 方法 3.重寫方法時,一定要注意排序規則必須按照要求的主要條件和次要條件來寫 public class student...

兩種排序方法的效率比較

前提 筆記本測試,效能一般,測試前開了好多記憶體殺手。唯一變數 陣列的長度,其餘各項均不發生變化。此測試不具有一般性 資料量太少,實驗重複次數不夠,沒有空白對比試驗 聽著怎麼像是生物實驗了 如果感興趣,可以自己做重複實驗。第一種,經典的氣泡排序,如下 a long start system.curr...

求素數的兩種解法

檔名 exp1 1.cpp 求素數的個數 include include bool prime int n 判斷正整數n是否是素數 int main for i 3 i n i 2 printf n return 0 檔名 exp1 1 2.cpp 利用快速篩選法求素數的個數 篩法的思想是去除要求範...