leetcode 204. Count Primes

题目描述

 

注意:1既不是素数也不是合数

可以通过标记的方法找到所有非素数。

class Solution {
public:
    int countPrimes(int n) {
        int *tmp = new int[n];
        memset(tmp,0,sizeof(int)*n);
        int count = 0;
        for(int i = 2; i < n ; i++){
            if(tmp[i] == 0){
                count ++;
            for(int j = 2; j*i < n; j++)
                tmp[i*j]=1;
            }
        }
        return count;
    }
};

 

posted @ 2017-06-02 12:35  StrongYaYa  阅读(142)  评论(0编辑  收藏  举报