Вызовы Python: найти 1000-е простое число
Задачи Python - 1: Упражнение 39 с решением
Напишите программу на Python, чтобы найти 1000-е простое число.
Простое число - это натуральное число, большее 1, которое не имеет положительных делителей, кроме 1 и самого себя. По теореме Евклида существует бесконечное число простых чисел. Подмножества простых чисел могут быть сгенерированы с различными формулами для простых чисел. Первые двадцать простых чисел: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71.
Пример решения : -
Код Python:
def eratosthenes():
D = {}
q = 2
while 1:
if q not in D:
yield q
D[q*q] = [q]
else:
for p in D[q]:
D.setdefault(p+q,[]).append(p)
del D[q]
q += 1
def nth_prime(n):
for i, prime in enumerate(eratosthenes()):
if i == n - 1:
return prime
print(nth_prime(1000))
Пример вывода:
7919
Блок - схема:
Редактор кода Python:
Внесите свой код и комментарии через Disqus.
Далее: Напишите программу на Python, чтобы найти продукт XYZ.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования