Python Math: вывести все простые числа (сита Эратосфена), меньшие или равные указанному числу
Python Math: упражнение 21 с решением
Напишите программу на Python для печати всех простых чисел (Sieve of Eratosthenes), меньших или равных указанному числу.
В математике сито Эратосфена, одно из множества сит с простыми числами, является простым древним алгоритмом для нахождения всех простых чисел вплоть до любого заданного предела. Это делается путем итеративной маркировки как составных (т. Е. Не простых) кратных каждого простого числа, начиная с кратных 2.
Наглядная презентация:
Кредиты на анимацию: Информация об авторе здесь
Пример решения : -
Код Python:
def sieve_of_Eratosthenes(num):
limitn = num+1
not_prime_num = set()
prime_nums = []
for i in range(2, limitn):
if i in not_prime_num:
continue
for f in range(i*2, limitn, i):
not_prime_num.add(f)
prime_nums.append(i)
return prime_nums
print(sieve_of_Eratosthenes(100));
Пример вывода:
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97 ]
Блок - схема:
Визуализируйте выполнение кода Python:
Следующий инструмент визуализирует, что компьютер делает шаг за шагом при выполнении указанной программы:
Редактор кода Python:
Есть другой способ решить это решение? Внесите свой код (и комментарии) через Disqus.
Предыдущий: Напишите программу на Python для расчета магического квадрата.
Далее: Напишите программу на Python, чтобы найти следующий наименьший палиндром указанного числа.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования