sieve-of-eratosthenes- все статьи тега


Временная сложность алгоритма решета Эратосфена

С Википедия: сложность алгоритма O(n(logn)(loglogn)) битовые операции. как вы к этому пришли? что сложность включает в себя loglogn термин говорит мне, что есть sqrt(n) куда-то. предположим, что я запускаю сито на первые 100 чисел (n = 100), предполагая, что маркировка чисел как составных принимает постоянное время (реализация массива), количество раз, когда мы используем mark_composite() было бы что-то вроде n/2 + n/3 + n/5 + n/7 + ... + n/97 = O(n^2) ...

Сито Эратосфена-поиск простых чисел питона

просто чтобы уточнить, это не проблема с домашним заданием:) Я хотел найти простые числа для математического приложения я строю и наткнулся решето Эратосфена подход. Я написал его реализацию в Python. Но это ужасно медленно. Скажем, если я хочу найти все простые числа меньше 2 миллионов. Это занимает > 20 минут. (Я остановил его в этот момент). Как я могу ускорить это? def primes_sieve(limit): limitn = limit+1 primes = range(2, limitn) for i in primes: factors = range ...