leetcode刷題--Count Primes
題目:求小於等於n的所有質數數量
現在求質數數量一般用埃拉託斯特尼篩法,簡稱篩法。可能很多學過小學奧數的同學都知道是怎麼回事(小學奧數太可怕了233)基本原理就是從最小的質數開始計算這些質數的倍數,將這些倍數標記為合數,於是小於n的數中除了合數剩下的就是質數了.
需要注意的是1不是質數也不是合數,要先將其標記為0
程式碼:
class Solution:
# @param {integer} n
# @return {integer}
def countPrimes(self,n):
if n<=2:
return 0
map = list(range(n))
map[1]=0
i=2
while (i*i<n):
if map[i] != 0:
j=2
while j*i<n:
map[j*i]=0
j+=1
i+=1
count = 0
for i in map:
if i != 0:
count+=1
return count
相關文章
- LeetCode-Count PrimesLeetCode
- leetcode刷題--Count and SayLeetCode
- LeetCode筆記:204. Count PrimesLeetCode筆記
- LeetCode C++ 204. Count Primes【Math/Hash Table】簡單LeetCodeC++
- LeetCode刷題整理LeetCode
- leetcode刷題(一)LeetCode
- LeetCode刷題 堆LeetCode
- LeetCode 刷題—樹LeetCode
- LeetCode 刷題指南(一):為什麼要刷題LeetCode
- LeetCode 刷題筆記LeetCode筆記
- leetcode刷題筆記LeetCode筆記
- LeetCode刷題記錄LeetCode
- 如何使用leetcode刷題LeetCode
- leetcode刷題--Majority ElementLeetCode
- leetcode刷題--Reverse BitsLeetCode
- leetcode刷題--Rotate ArrayLeetCode
- Leetcode刷題分類LeetCode
- Leetcode刷題準備LeetCode
- LeetCode刷題—陣列LeetCode陣列
- [LintCode/LeetCode] Check Sum of K PrimesLeetCode
- Leetcode刷題——求眾數LeetCode
- leetcode刷題筆記605LeetCode筆記
- Leetcode刷題系列彙總LeetCode
- leetcode刷題--Happy NumberLeetCodeAPP
- leetcode刷題--Number of 1 BitsLeetCode
- leetcode刷題記錄 661~LeetCode
- LeetCode刷題之第701題LeetCode
- Leetcode Count and SayLeetCode
- LeetCode:Count and SayLeetCode
- Leetcode已刷題目題解彙總LeetCode
- leetcode排序專題演算法刷題LeetCode排序演算法
- 用Rust刷leetcode第十題RustLeetCode
- 用Rust刷leetcode第八題RustLeetCode
- 用Rust刷leetcode第九題RustLeetCode
- 用 Rust 刷 leetcode 第五題RustLeetCode
- 用 Rust 刷 leetcode 第七題RustLeetCode
- 用 Rust 刷 leetcode 第六題RustLeetCode
- 用 Rust 刷 leetcode 第四題RustLeetCode