五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

極少數(shù)人用過的另類素數(shù)求解法,C語言經(jīng)典算法之篩選法求質(zhì)數(shù)

2019-03-28 18:52 作者:C語言基礎(chǔ)  | 我要投稿

篩選求質(zhì)數(shù)

明除了自身之外,無法被其它整數(shù)整除的數(shù)稱之為質(zhì)數(shù),要求質(zhì)數(shù)很簡單,但如何快速的求出質(zhì)數(shù)則一直是程式設(shè)計人員與數(shù)學(xué)家努力的課題,在這邊介紹一個著名的 Eratosthenes求質(zhì)數(shù)方法。

行文不易,新手上路,多多關(guān)注,這真的對我很重要,私信更有驚喜

首先知道這個問題可以使用回圈來求解,將一個指定的數(shù)除以所有小于它的數(shù),若可以整除就不是質(zhì)數(shù),然而如何減少回圈的檢查次數(shù)?如何求出小于N的所有質(zhì)數(shù)?首先假設(shè)要檢查的數(shù)是N好了,則事實上只要檢查至N的開根號就可以了,道理很簡單,假設(shè)A*B = N,如果A大于N的開根號,則事實上在小于A之前的檢查就可以先檢查到B這個數(shù)可以整除N。不過在程式中使用開根號會精確度的問題,所以可以使用 i*i <= N進(jìn)行檢查,且執(zhí)行更快。

再來假設(shè)有一個篩子存放1~N,例如:

23 456789101112131415161718192021 ....N

先將2的倍數(shù)篩去:

23 579111315171921....N

再將3的倍數(shù)篩去:

23 5711131719....N

再來將5的倍數(shù)篩去,再來將7的質(zhì)數(shù)篩去,再來將11的倍數(shù)篩去........,如此進(jìn)行到最后留下的數(shù)就都是質(zhì)數(shù),這就是Eratosthenes篩選方法(Eratosthenes Sieve Method)。檢查的次數(shù)還可以再減少,事實上,只要檢查6n + 1與6n + 5就可以了,也就是直接跳過2與3的倍

數(shù),使得程式中的if的檢查動作可以減少

源碼實現(xiàn)

行文不易,新手上路,多多關(guān)注,這真的對我很重要,私信更有驚喜



極少數(shù)人用過的另類素數(shù)求解法,C語言經(jīng)典算法之篩選法求質(zhì)數(shù)的評論 (共 條)

分享到微博請遵守國家法律
政和县| 浙江省| 利辛县| 叙永县| 泗阳县| 昆山市| 大兴区| 临城县| 囊谦县| 新巴尔虎左旗| 富民县| 江安县| 长葛市| 德安县| 清水河县| 修武县| 沧州市| 桐梓县| 通州市| 香格里拉县| 红安县| 天津市| 洛阳市| 荃湾区| 长汀县| 深圳市| 丰宁| 太湖县| 弥渡县| 乌审旗| 清镇市| 山阴县| 莒南县| 井研县| 安国市| 樟树市| 秭归县| 兴文县| 应城市| 崇州市| 江孜县|