Я пытаюсь выполнить эту задачу Project Euler:
Перечислив первые шесть простых чисел: 2, 3, 5, 7, 11 и 13, мы увидим, что 6-е числопростое число 13.
Что такое 10 001-е простое число?
Мой код кажется правильным, потому что он работает с небольшими числами, например, 6-е простое число - 13.
Как я могу улучшить его, чтобы код работал намного быстрее для больших чисел, таких как 10 001.
Код указан ниже:
#Checks if a number is a prime
def is_prime(n):
count = 0
for i in range(2, n):
if n%i == 0:
return False
break
else:
count += 1
if count == n-2:
return True
#Finds the value for the given nth term
def term(n):
x = 0
count = 0
while count != n:
x += 1
if is_prime(x) == True:
count += 1
print x
term(10001)
ОБНОВЛЕНИЕ:
Спасибо за ваши ответы.Я должен был быть более ясным, я не стремлюсь ускорить интерпретатор или найти более быстрый интерпретатор, потому что я знаю, что мой код не очень хорош, поэтому я искал способы сделать мой код более эффективным.