Изучение простых чисел: методы нахождения суммы первых 100 простых чисел

Простые числа — это увлекательные математические сущности, которые интересовали математиков на протяжении веков. Это целые числа больше единицы, которые можно разделить только на 1 и себя, не оставляя остатка. В этой статье блога мы углубимся в различные методы нахождения суммы первых 100 простых чисел. Мы предоставим примеры кода на популярных языках программирования, шаг за шагом проведя вас по каждому методу.

Метод 1: метод грубой силы
Метод грубой силы включает в себя проверку каждого числа по отдельности, чтобы определить, является ли оно простым. У нас есть счетчик для отслеживания количества найденных простых чисел и переменная для хранения суммы простых чисел.

def is_prime(n):
    if n < 2:
        return False
    for i in range(2, int(n0.5) + 1):
        if n % i == 0:
            return False
    return True
def sum_of_primes_brute_force():
    count = 0
    prime_sum = 0
    num = 2
    while count < 100:
        if is_prime(num):
            prime_sum += num
            count += 1
        num += 1
    return prime_sum
print(sum_of_primes_brute_force())  # Output: 24133

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

def sum_of_primes_sieve():
    limit = 542  # A rough estimate for the 100th prime
    sieve = [True] * limit
    sieve[0] = sieve[1] = False
    prime_sum = 0
    count = 0
    for (index, is_prime) in enumerate(sieve):
        if is_prime:
            prime_sum += index
            count += 1
            if count == 100:
                break
            for i in range(index * index, limit, index):
                sieve[i] = False
    return prime_sum
print(sum_of_primes_sieve())  # Output: 24133

Метод 3: использование заранее вычисленного списка простых чисел
Мы можем использовать предварительно вычисленный список простых чисел и просуммировать первые 100 простых чисел из списка.

def sum_of_primes_precomputed():
    primes = [2, 3, 5, 7, 11, 13, 17, ...]  # Precomputed list of primes
    prime_sum = sum(primes[:100])
    return prime_sum
print(sum_of_primes_precomputed())  # Output: 24133

В этой статье мы рассмотрели три различных метода нахождения суммы первых 100 простых чисел. Подход грубой силы, «Решето Эратосфена» и использование заранее вычисленного списка простых чисел имеют свои плюсы и минусы. В зависимости от конкретных требований и ограничений вашего проекта вы можете выбрать наиболее подходящий метод. Поняв эти методы и реализовав их на своем любимом языке программирования, вы сможете глубже погрузиться в мир простых чисел и изучить их интригующие свойства.