Перейти к содержимому

Prime Sieve

Найдите все простые числа до заданного предела, используя решето Эратосфена. Визуализируйте простые числа в сетке.

25
Найдено простых чисел
99
Проверено чисел
25.3%
Плотность простых чисел

Сетка чисел (простые числа выделены)

23456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100

Выделено = простое число

Простые числа

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

Об этом инструменте

Решето простых чисел — это математический алгоритм, который эффективно находит все простые числа до указанного предела. Решето Эратосфена, разработанное более двух тысяч лет назад, остаётся одним из самых быстрых методов генерации списков простых чисел и широко используется в криптографии, исследованиях теории чисел и образовании. Этот инструмент привносит классический алгоритм в ваш браузер, позволяя вам интерактивно исследовать распределение и свойства простых чисел.

Чтобы использовать этот инструмент, введите верхний предел диапазона поиска и нажмите кнопку "Найти простые числа". Инструмент мгновенно отобразит все простые числа до этого предела в формате сетки, облегчая визуализацию их частоты и закономерностей. Типичные случаи использования включают проверку простых чисел для образовательных проектов, генерацию простых чисел для криптографических алгоритмов, изучение промежутков между последовательными простыми числами и исследование математических любопытств распределения простых чисел.

Решето Эратосфена работает путём итеративного отмечания кратных каждого простого числа как составных, оставляя только неотмеченные простые числа. Этот метод намного быстрее, чем проверка каждого числа по отдельности на делимость. Для пределов менее одного миллиона вычисление завершается почти мгновенно; большие пределы могут занять несколько секунд в зависимости от вашего устройства. Этот инструмент идеален для учащихся, математиков и всех, кто интересуется фундаментальными строительными блоками теории чисел.

Часто задаваемые вопросы

Реализация кода

def sieve_of_eratosthenes(limit: int) -> list[int]:
    """Return list of all primes up to limit."""
    if limit < 2:
        return []
    is_prime = [True] * (limit + 1)
    is_prime[0] = is_prime[1] = False
    i = 2
    while i * i <= limit:
        if is_prime[i]:
            for j in range(i * i, limit + 1, i):
                is_prime[j] = False
        i += 1
    return [n for n, p in enumerate(is_prime) if p]

primes = sieve_of_eratosthenes(100)
print(primes)
# [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, ...]
print(f"Count: {len(primes)}")  # Count: 25

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.