У меня проблемы с моим кодом. Вопрос:Project Euler # 7 Python
«Перечислив первые шесть простых чисел: 2, 3, 5, 7, 11 и 13, мы увидим, что 6-е число - это 13. Что такое 10 001-е простое число?»
Это то, что он выглядит следующим образом:
div = 10001
i = 2
count = 0
prime = 0
now = []
while count < div:
for x in range (2,i+1):
if len(now) ==2:
break
elif i%x == 0:
now.append(x)
if len(now)==1:
prime = i
count += 1
now = []
i+=1
print(prime)
Я попытался ДИВ до 1000, и это, кажется, работает нормально (для DIV 1000 я получаю 7919). Однако, когда я пытаюсь div = 10001, я ничего не получаю, даже ошибки. Если бы кто-то помог мне, я был бы очень признателен. Спасибо.
Это, вероятно, работает правильно, просто очень медленно. Подсказка: есть более эффективные способы вычисления простых чисел. – Kevin
Как долго вы ждали? Для завершения выполнения этого кода потребуется * длительное время. – recursive
@ Kevin да, его работа я просто проверил, он работает. Любой способ сделать это быстрее? –