我们能否制作更有效的代码来打印从 1 到 10000000(1000 万)的素数计数,因为我 [关闭] 运行不到 35 秒

问题描述 投票:0回答:0
import time
start_time = time.time()
primeList=[2]
def is_prime(number):
    if number>1:
        root=int(number**0.5)
        for num in primeList:
            if num<=root:
                if number%num==0:
                    return False
            else:
                primeList.append(number)
                return True
    return False

countPrime=0
for i in range(1,1000000):
    if is_prime(i):
        countPrime+=1
print(count)
print("--- %s seconds ---" % (time.time() - start_time))

寻找一种更有效的方法来查找 1 到 1000 万之间的素数计数。上述代码花费的时间约为。 34 秒。

python-3.x time time-complexity primes space-complexity
© www.soinside.com 2019 - 2024. All rights reserved.