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

se837623 单选题 共 个子题

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

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)
正在加载题目数据…
已答 /
子题
该题型需在试卷/作业中作答,单题练习暂不支持
答案解析
讨论
发布
登录后参与讨论 立即登录
发布讨论需先绑定并验证手机号 去绑定手机号
加载中…
我
我
回复 @
回复 @
发送
还没有人讨论,来发表第一条吧