1. 素数筛的复杂度分析

    典型的求素数用的是筛子的方法,最简单的程序是这样的

    void getPrime(int n){
        int mk[100005] = {0};
        vector<int> prime;
    
        for(int i=2; i<=n; i++){
            if(!mk[i])prime.push_back(i);
            for(int j=i+i; j<=n; j+=i)
                mk[j] = 1;
        }
    }
    

    那如果要筛出<=n的质数,大概的复杂度是多少呢?
    其实需要的次数为n x (1 + 1/2 + 1/3 + 1/4 ...

    Tagged as : 数论 素数

Pages

Categories

Tags

Page 1 / 1