leetcode-204. 計數質數
阿新 • • 發佈:2019-02-01
題目
統計所有小於非負整數 n 的質數的數量。
示例:
輸入: 10
輸出: 4
解釋: 小於 10 的質數一共有 4 個, 它們是 2, 3, 5, 7 。
思路
每一個數的倍數一定不是質數。
程式碼
class Solution { public int countPrimes(int n) { int[] num = new int[n]; int count = 0; int flag = 0; //標記質數,是質數的標記為1 for(int i=2; i*i<n; i++) //注意是i*i { if(num[i]==0) { int j = 2; while(i*j<n) { num[i*j] = 1; j++; } } } //統計質數的個數 for(int i=2;i<n;i++) { if(num[i]==0) { count++; } } return count; } }