LeetCode 計數質數

2022-06-24 08:00:20 字數 717 閱讀 3462

q:

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

示例 1:

輸入:n = 10

輸出:4

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

示例 2:

輸入:n = 0

輸出:0

示例 3:

輸入:n = 1

輸出:0

a:如果我們在進行順序遍歷時,每取得乙個數(排除0、1),如果將它所有的倍數(排除0、1、本身)都清除,那麼,剩下的數是不是必為素數?這個有趣且實用的方法便是著名的厄拉多塞篩法

public int countprimes(int n) 

count++;}}

return count;

}

判斷素數:

假如n是合數,必然存在非1的兩個約數p1和p2,其中\(p1<=sqrt(n),p2>=sqrt(n)\)。

public static boolean isprime(int n) 

int sqrt = (int)math.sqrt(n);

if(n % 2 == 0)

return false;

for (int i = 3; i <= sqrt; i+=2)

}return true;

}

LeetCode 計數質數

計數質數 以下直接摘抄 西元前250年,希臘數學家厄拉多塞 eeatosthese 想到了乙個非常美妙的質數篩法,減少了逐一檢查每個數的的步驟,可以比較簡單的從一大堆數字之中,篩選出質數來,這方法被稱作厄拉多塞篩法 sieve of eeatosthese 具體操作 先將 2 n 的各個數放入表中,...

leetcode 204 計數質數

統計所有小於非負整數 n 的質數的數量。示例 輸入 10輸出 4解釋 小於 10 的質數一共有 4 個,它們是 2,3,5,7 厄拉多塞篩法 西元前250年,希臘數學家厄拉多塞 eeatosthese 想到了乙個非常美妙的質數篩法,減少了逐一檢查每個數的的步驟,可以比較簡單的從一大堆數字之中,篩選出...

leetcode204 計數質數

統計所有小於非負整數 n 的質數的數量。示例 輸入 10 輸出 4 解釋 小於 10 的質數一共有 4 個,它們是 2,3,5,7 厄拉多賽篩法,先找到不超過根號n的所有素數,再把這些素數的所有倍數去掉 class solution def countprimes self,n int int 厄拉...