【发布时间】:2019-05-27 08:08:38
【问题描述】:
我已经编写了一个程序来查找素数,但是当我尝试获取第 10001 个素数时,它是不正确的。我不知道为什么。
我并没有真正尝试过,因为我不知道该尝试什么。
import math
startingPrimes = [2,3, 5, 7, 11, 13, 17, 19]
for times in range (2):
primeList = []
numbersToBeTested = 0
for _ in range (startingPrimes[len(startingPrimes)-1]**2):
primeList.append(_ + 2)
print ()
numbersToBeTested = startingPrimes[len(startingPrimes)-1]**2
print (numbersToBeTested)
divisor = 0
term = 0
dividend = 0
position = 0
while divisor < math.sqrt(len(primeList)):
term = 0
divisor = startingPrimes[position]
dividend = primeList[position]
while term + 1 < len(primeList):
term = term + 1
if primeList[term] % divisor == 0:
if primeList[term] != divisor:
primeList.remove(primeList[term])
position = position + 1
startingPrimes = primeList
for termOfList in range (len(primeList)):
print (primeList[termOfList])
print ("How many primes: " + str(len(primeList)))
print ("10001st prime: " + str(primeList[10000]))
它给了我 90373 这是错误的! 请帮忙!
【问题讨论】: