Быстрое вычисление простых чисел с помощью PythonPython

Программы на Python
Anonymous
Быстрое вычисление простых чисел с помощью Python

Сообщение Anonymous »

Я решал эту задачу в проекте Эйлера, который требует найти 10 001-е простое число.
Вот что я сделал:

Код: Выделить всё

def is_prime(x):
local_list = [i for i in range(1, x+1) if x % i == 0]
if len(local_list) > 2:
return False
else:
return True

primes = []

for i in range(1, 10**5):
if is_prime(i) == True:
primes.append(i)

print(primes[10000])
Проблема в том, что программе требуется слишком много времени, чтобы наконец выдать результат. Итак, как мне оптимизировать ее, чтобы она могла быстро ее вычислить (более того, поскольку я новичок, любые советы о том, как вообще создать оптимальную программу (например, использование «этой штуки» в циклах и т. д.) будут очень признателен).

Подробнее здесь: https://stackoverflow.com/questions/787 ... ith-python

Вернуться в «Python»