如果要求輸出1~n之間的所有質數,需要注意如下幾個方面:
(1)2是質數,單獨輸出
(2)只需測試奇數是否是質數
(3)如何判斷某個數x是否是質數,有如下幾種方法:
i. 測試x是否能被3~x/2的數整除,若沒有能整除的,則為質數,否則不是質數
ii. 測試x是否能被3~sqrt(x)之間的數整除,若沒有能整除的,則為質數,否則不是質數
iii. 測試x是否能被3~sqrt(x)之間的質數(需要記錄之前已經求得的質數)整除,
若沒有能整除的,則為質數,否則不是質數
有一種方法是通過篩選來輸出1~n之間的所有質數的,稱為埃式篩選法
可詳見:
方法:給出要篩數值的範圍n,找出
詳細列出演算法如下:
列出2以後的所有序列:
標出序列中的第乙個素數,也就是2,序列變成:
將剩下序列中,劃掉2的倍數(用紅色標出),序列變成:
如果現在這個序列中最大數小於最後乙個標出的素數的平方,那麼剩下的序列中所有的數都是素數,否則回到第二步。
本例中,因為25大於2的平方,我們返回第二步:
剩下的序列中第乙個素數是3,將主序列中3的倍數劃出(紅色),主序列變成:
我們得到的素數有:2,3
25仍然大於3的平方,所以我們還要返回第二步:
現在序列中第乙個素數是5,同樣將序列中5的倍數劃出,主序列成了:
我們得到的素數有:2 3 5 。
因為25等於5的平方,跳出迴圈.
結論:去掉紅色的數字,2到25之間的素數是:2 3 5 7 11 13 17 19 23。
jQuery其他方法
1.jquery拷貝物件 深拷貝 深拷貝把裡面的資料完全複製乙份給目標物件 會另開闢乙個內心空間 如果裡面有不衝突的屬性,會合併到一起。2.多庫共存 jquery使用 作為識別符號,隨著jquery的流行,其他js庫也會使用 作為識別符號,這樣一起使用會引起衝突。使jquery和其他的js庫不存在衝...
selenium 其他方法
coding utf 8 from selenium import webdriver import time from selenium.webdriver.common.keys import keys driver webdriver.chrome driver.get driver.maxi...
06 其他方法
1 isalive 執行緒是否存活 system.out.println thread.currentthread getname 存活 thread.currentthread isalive 2 setname 給執行緒起名字 myinfo mi newmyinfo thread t newth...