問題:
統計所有小于非負整數 n 的質數的數量,
示例:
輸入:n = 10
輸出:4
解釋:小于 10 的質數一共有 4 個, 它們是 2, 3, 5, 7 ,
優化做法:
厄拉多塞篩法:
演算法詳解及圖片展示
代碼:
public static int countPrime(int n){
int count = 0;
boolean[] signs = new boolean[n];
for (int i = 0; i < n;i++){
signs[i] = true;
}
for (int i = 2; i < n; i++){
if(signs[i]) {
count++;
for (int j = i + i ; j < n ;j += i){
signs[j] = false;
}
}
}
return count;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/357041.html
標籤:其他
