問題描述 統(tǒng)計(jì)所有小于非負(fù)整數(shù)n的質(zhì)數(shù)的數(shù)量。 示例: 輸入:n = 10 輸出:4 示例: 輸入:n = 1 輸出:0 示例: 輸入:n = 0 輸出:0 提示:0 <= n <= 5 * 106 解決方案 對(duì)于每個(gè)數(shù) i,我們可以枚舉 [2, i-1][2,i-1]區(qū)間的任意一個(gè)數(shù) j,判斷i 能否被j整除,枚舉 [2, i-1][2,i?1] 區(qū)間的任意一個(gè)數(shù)j,判斷i能否被j整除時(shí),我們可以發(fā)現(xiàn),如果i能夠被j整除,那么這里的商也一定能夠整除i,也就是i也能夠被i/j整除。那么我們只要判斷i和i/j其中一個(gè)能否整除i即可。 代碼清單 1統(tǒng)計(jì)所有小于非負(fù)整數(shù)n的質(zhì)數(shù)的數(shù)量
運(yùn)行代碼 結(jié)語 此類方法需要較為麻煩,思維較為復(fù)雜,需要單次判斷每一個(gè)數(shù)是否為質(zhì)數(shù),淡然也可以采取枚舉法、線性篩等方法,這些方法可能更容易理解,當(dāng)我們遇到此類問題時(shí),需迅速構(gòu)建出各種方法,在這之中篩選,選出更簡(jiǎn)單的方法。 實(shí)習(xí)編輯:李欣容 作者:查萌雨 岳進(jìn) 趙柔 稿件來源:深度學(xué)習(xí)與文旅應(yīng)用實(shí)驗(yàn)室(DLETA) |
|