首页 > 试题广场 >

假设可以不考虑计算机运行资源(如内存)的限制,以下 pyth

[单选题]
假设可以不考虑计算机运行资源(如内存)的限制,以下 python3 代码的预期运行结果是:()
import math
 
def sieve(size):
    sieve= [True] * size
    sieve[0] = False
    sieve[1] = False
    for i in range(2, int(math.sqrt(size)) + 1):
        k = i * 2
        while k < size:
           sieve[k] = False
           k += i
 
     return sum(1 for x in sieve if x)
print(sieve(100000000000))


  • 4118054810
  • 4118054811
  • 4118054812
  • 4118054813
1000亿以内的素数个数百度上可以查到
发表于 2019-04-14 22:36:21 回复(1)
看最后一位,0,2为偶数必定可除以2,不是素数。第二个能被3整除,只有第四个了
发表于 2019-05-31 18:23:17 回复(3)
直接报错Traceback (most recent call last)
发表于 2022-12-16 12:21:21 回复(0)
sieve筛法,把 i 的倍数从数组中全部筛掉
发表于 2021-03-09 16:35:31 回复(0)
直接报错MemoryError,怎么回事?电脑配置还行,16G+2T
发表于 2019-08-27 10:35:17 回复(0)