Найдите простые числа в Python: пробное деление, решето Эратосфена и SymPy

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

  1. Метод пробного разделения:
    • Перебор чисел от 2 до заданного числа.
    • Для каждого числа проверьте, делится ли оно на любое число от 2 до квадратного корня.
    • Если оно делится на любое число, оно не является простым. В противном случае это простое число.
import math
def is_prime(n):
    if n <= 1:
        return False
    for i in range(2, int(math.sqrt(n)) + 1):
        if n % i == 0:
            return False
    return True
  1. Решето Эратосфена:
    • Создайте логический список размером n+1 и инициализируйте все элементы как True.
    • Итерация от 2 до квадратного корня из n.
    • Для каждого найденного простого числа пометьте все его кратные как ложные.
    • Остальные числа, отмеченные как True, являются простыми числами.
def sieve_of_eratosthenes(n):
    primes = [True] * (n + 1)
    primes[0] = primes[1] = False
    p = 2
    while p * p <= n:
        if primes[p]:
            for i in range(p * p, n + 1, p):
                primes[i] = False
        p += 1
    return [num for num, is_prime in enumerate(primes) if is_prime]
  1. Использование библиотеки SymPy:
    • SymPy — это библиотека Python для символьной математики, предоставляющая различные функции для работы с простыми числами.
from sympy import isprime
def check_prime(n):
    return isprime(n)

Это всего лишь несколько методов поиска простых чисел в Python. Вы можете выбрать метод, который лучше всего соответствует вашим потребностям.