C語言實現 求素數加過濾方法(演算法)

2021-10-23 17:24:14 字數 625 閱讀 7329

總結明白素數判斷規制即可

如果乙個數里這個數只能被1和他自己整除的數就是素數

所謂試除法比如我拿乙個17這個數字,如果他只能被1,17整除,

那我拿2-16的數字整除看看是否為0,

for

(i =

0; i <=

100; i++)}

if(j ==i)

printf

("%d "

,i);

}

需要引入math.h這個標頭檔案使用開平方函式

如果乙個數他能被寫n=a*b的這種形式那麼,a和b 至少有乙個數字是小於開平方n的裡36開平方等於6,如果還能寫成2 * 13的話那麼2就小於6,那麼就有2-35之間有乙個數字,能整除我的n就沒有必要在遍歷2-35的數字了,直接到最小平方數就行了,大大加大了速度,

**如下(示例):

int i;

for(i =

100; i <=

200; i++)}

if(j >

sqrt

(i))

}

理解素數本身的條件即可,加上過濾加大計算速度

素數判斷 C語言實現

除了1和自身之外不能整除其它數,稱之為素數.最小的素數是2.沒有最大的素數.1000以內素數,如下圖所示 關於素數的演算法,一般有2種.第1種,給出乙個數n n 2 判斷n是不是素數 第2種,給出乙個數n n 2 把 2,n 的所有素數拿出來 判斷乙個數n是否是素數,最簡單粗暴的方法就是把n分別與i...

c語言實現位陣列實現素數最優演算法

前幾天在廣州去面試遊戲開發,其中一道題是素數的演算法優化,無奈之下,實在想不出,失敗後回家宿舍查詢了一下資料,目前最優的應該是 不太確定 初等數論的篩選法,用空間換時間的一種思想。篩選法的具體的說明 位陣列實現的具說明 下面貼上我的 vs2017 win10 64位debug 三代i5,計算21億多...

C語言 求素數 排序演算法

一 素數 1.從2到n 1之間依次檢查是否有n的因數 題目 判斷乙個數是否是素數 bool isprimer int n return true int main else return 0 2.篩選法求1到n之間的素數 使用陣列標記 題目 用篩選法求100之內的素數 define n 100 vo...