第29155题 单选题
以下代码实现的数论筛法及其时间复杂度描述正确的是?

如下代码实现了一种用于求解1~n范围内素数的数论筛法,关于该筛法的说法正确的是:

void get_prime(int n) {
    bool is_prime[100005];
    int prime[100005], cnt = 0;
    memset(is_prime, 1, sizeof(is_prime));
    is_prime[0] = is_prime[1] = 0;
    for(int i = 2; i <= n; i++) {
        if(is_prime[i]) prime[++cnt] = i;
        for(int j = 1; j <= cnt && 1LL * i * prime[j] <= n; j++) {
            is_prime[i * prime[j]] = 0;
            if(i % prime[j] == 0) break;
        }
    }
}
A

埃氏筛法,时间复杂度为O(n log log n)

B

线性筛(欧拉筛)法,时间复杂度为O(n)

C

暴力枚举法,时间复杂度为O(n√n)

D

莫比乌斯函数筛法,时间复杂度为O(n log n)

程序运行统计
暂无判题统计
提交0次 正确率0.00%
答案解析