小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

質(zhì)數(shù)的獲取

 長沙7喜 2019-10-19

上篇文章向大家介紹的判斷質(zhì)數(shù)是的方法,雖然可以很好的判斷一個數(shù)是否為素數(shù)。但是如果遇到了這樣的題,也難免會超時。

題目描述

    

    輸出 2 - n 之間所有的素數(shù)。(包含 2 和 n )

如果這種問題還采用一一判斷的話,時間復(fù)雜度顯然為O(N*N),如果時間限制是 1 s。當(dāng) N 大于 10000 就非常懸了,在加上一個 0 那就沒有懸念直接超時了。

這個時候我們就需要更精進的算法————素數(shù)表。

它的核心思想是,任何合數(shù)可以通過素數(shù)(或合數(shù))的乘積表示,而素數(shù)都(除了1和自身)不可以。

說白了實現(xiàn)過程就是遇到素數(shù)就要把它的倍數(shù)記做合數(shù),遇到合數(shù)跳過。首先默認(rèn)所有數(shù)為素數(shù),0、1記做合數(shù),從 2 開始遍歷,直到 n 。

舉個小例子,要求20以內(nèi)的全部素數(shù)。
0、1記做合數(shù),從 2 開始遍歷, 2 是素數(shù)所以所有小于等于 20 的 2 的倍數(shù)(也就是除 2 以外的偶數(shù))記做合數(shù);3 是素數(shù),所以 6,9,12, 15,18 都記做合數(shù);4 是合數(shù)不管;5 是素數(shù),所以10, 15, 20記做合數(shù)(20 在標(biāo)記 2 的倍數(shù)的時候就已經(jīng)記做合數(shù)了,不怕重復(fù));6不管;7是素數(shù),14記做合數(shù);8,9,10,12,14,15,16,18,20都是合數(shù)不管;11,13,17,19雖然都是素數(shù),但是他們的倍數(shù)都大于20,故不用標(biāo)記。

說了這么多還是要用代碼實現(xiàn)

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多