第27823题 单选题
以下哪段Python代码可以正确实现埃氏筛法,统计100以内素数的总数量?

埃氏筛法是高效筛选素数的经典算法,其核心思路是通过标记合数来筛选出素数。

A
def count_primes():
    is_prime = [False] * 101
    for i in range(2, 101):
        if is_prime[i]:
            for j in range(i*2, 101, i):
                is_prime[j] = True
    return sum(is_prime)
B
def count_primes():
    n = 100
    is_prime = [True] * (n + 1)
    is_prime[0] = is_prime[1] = False
    for i in range(2, int(n ** 0.5) + 1):
        if is_prime[i]:
            for j in range(i * 2, n + 1, i):
                is_prime[j] = False
    return sum(is_prime)
C
def count_primes():
    is_prime = [True] * 101
    for i in range(2, 101):
        for j in range(i*2, 101, i):
            is_prime[j] = True
    return sum(is_prime)
D
def count_primes():
    is_prime = [True] * 101
    is_prime[0] = is_prime[1] = False
    for i in range(2, 101):
        if is_prime[i]:
            for j in range(i, 101, i):
                is_prime[j] = False
    return sum(is_prime)
程序运行统计
暂无判题统计
提交0次 正确率0.00%
答案解析