統計所有小於非負整數 n 的質數的數量。
示例:輸入: 10
輸出: 4
解釋: 小於 10 的質數一共有 4 個, 它們是 2, 3, 5, 7 。
首先拿到這道題就是一頓秀,發現會超時,即使你會求平方根來進行算也會超時,因此考慮使用
埃拉託斯特尼篩法,簡稱埃氏篩或愛氏篩,是一種由希臘數學家埃拉託斯特尼所提出的一種簡單檢定素數的演算法:
要得到自然數n以內的全部素數,必須把不大於根號n的所有素數的倍數剔除,剩下的就是素數。
就是首先不考慮乙個數是不是質數,而考慮後面的倍數是不是質數
乙個展示
我的**:
底下注釋的是超時的**
public static int countprimes(int n)
//預設為false
boolean isprime=new boolean[n];
isprime[0]=true;
isprime[1]=true;
//從2開始
for (int i=2;i*i排名第一的,怕乙個個試了一下吧
真厲害class solution
return 114155;
}}
LeetCode 計數質數
計數質數 以下直接摘抄 西元前250年,希臘數學家厄拉多塞 eeatosthese 想到了乙個非常美妙的質數篩法,減少了逐一檢查每個數的的步驟,可以比較簡單的從一大堆數字之中,篩選出質數來,這方法被稱作厄拉多塞篩法 sieve of eeatosthese 具體操作 先將 2 n 的各個數放入表中,...
python 計數質數
統計所有小於非負整數 n 的質數的數量。示例 輸入 10輸出 4解釋 小於 10 的質數一共有 4 個,它們是 2,3,5,7 1.看到這道題的時候,第一反應是用遍歷。class solution object def countprimes self,n type n int rtype int ...
204 計數質數
統計所有小於非負整數 n 的質數的數量。示例 輸入 10 輸出 4 解釋 小於 10 的質數一共有 4 個,它們是 2,3,5,7 這個題目思路很簡單,但是可能效率不高,裡面有一些小trick需要注意,所以在這裡記錄一下優化過程。思路1 逐個判斷每個數是否質數,超時 class solution d...