【leetcode 簡單】 第五十八題 計數質數

丁壯發表於2018-08-22

統計所有小於非負整數 的質數的數量。

示例:

輸入: 10
輸出: 4
解釋: 小於 10 的質數一共有 4 個, 它們是 2, 3, 5, 7 。


class Solution:
def countPrimes(self, n):
"""
:type n: int
:rtype: int
"""
isPrime = [1] * max(2, n)
isPrime[0],isPrime[1]=False,False
x = 2
while x * x < n:
if isPrime[x]:
p = x * x
while p < n:
isPrime[p] = 0
p += x
x +=1
return (sum(isPrime))

 

參考: https://en.wikipedia.org/wiki/Sieve_of_Eratosthenes

相關文章