Генерация простых чисел в Python: примеры кода и объяснения

Вот несколько методов, которые можно использовать для создания списка простых чисел в Python:

Метод 1: перебор
В этом методе мы перебираем все числа от 2 до заданного предела и проверяем, является ли каждое число простым.

def is_prime(n):
    if n <= 1:
        return False
    for i in range(2, int(n0.5) + 1):
        if n % i == 0:
            return False
    return True
def generate_prime_numbers(limit):
    primes = []
    for num in range(2, limit + 1):
        if is_prime(num):
            primes.append(num)
    return primes

Метод 2: Решето Эратосфена
Этот метод работает путем итеративного маркирования кратных каждого простого числа, начиная с 2, и исключения их из списка потенциальных простых чисел.

def generate_prime_numbers(limit):
    primes = [True] * (limit + 1)
    primes[0] = primes[1] = False
    p = 2
    while p * p <= limit:
        if primes[p]:
            for i in range(p * p, limit + 1, p):
                primes[i] = False
        p += 1
    return [num for num, is_prime in enumerate(primes) if is_prime]

Метод 3. Использование библиотеки SymPy
SymPy — это библиотека Python для символьной математики, предоставляющая функции для генерации простых чисел.

from sympy import sieve
def generate_prime_numbers(limit):
    primes = []
    for prime in sieve.primerange(2, limit + 1):
        primes.append(prime)
    return primes

Это всего лишь несколько методов генерации простых чисел в Python. У каждого метода есть свои преимущества и недостатки с точки зрения эффективности и сложности реализации.