問題
輸入與輸出
Input: 10
Output: 4
Explanation: There are 4 prime numbers less than 10, they are 2, 3, 5, 7.
方法
建質數表。
方法一: 逐一檢查 1 ~ n - 1 的整數中有多少個質數,但效率不好,因此採用第二種方法。
方法二: 埃拉托斯特尼篩法,從 2 開始將已知質數的倍數標記成合數,可以減少很多不必要的計算。
1 | int countPrimes(int n) |
Input: 10
Output: 4
Explanation: There are 4 prime numbers less than 10, they are 2, 3, 5, 7.
建質數表。
方法一: 逐一檢查 1 ~ n - 1 的整數中有多少個質數,但效率不好,因此採用第二種方法。
方法二: 埃拉托斯特尼篩法,從 2 開始將已知質數的倍數標記成合數,可以減少很多不必要的計算。
1 | int countPrimes(int n) |