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

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

Метод 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_primes_brute_force(n):
    prime_sum = 0
    for num in range(2, n + 1):
        if is_prime(num):
            prime_sum += num
    return prime_sum
n = 100
result = sum_primes_brute_force(n)
print(f"The sum of prime numbers up to {n} is: {result}")

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

def sum_primes_sieve(n):
    sieve = [True] * (n + 1)
    sieve[0] = sieve[1] = False
    prime_sum = 0
    p = 2
    while p * p <= n:
        if sieve[p]:
            for i in range(p * p, n + 1, p):
                sieve[i] = False
        p += 1
    for num in range(2, n + 1):
        if sieve[num]:
            prime_sum += num
    return prime_sum
n = 100
result = sum_primes_sieve(n)
print(f"The sum of prime numbers up to {n} is: {result}")

Метод 3: формула простых чисел.
Другой подход предполагает использование формулы простых чисел. Эта формула позволяет нам напрямую вычислить сумму простых чисел без повторения каждого числа. Формула утверждает, что сумма простых чисел до n примерно равна (n^2)/2. Вот фрагмент кода:

def sum_primes_formula(n):
    prime_sum = (n * n) // 2
    return prime_sum
n = 100
result = sum_primes_formula(n)
print(f"The sum of prime numbers up to {n} is: {result}")

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

Поняв эти методы, вы теперь имеете в своем распоряжении множество методов решения задач суммирования простых чисел. Не забудьте выбрать метод, который лучше всего соответствует вашим потребностям, исходя из входного диапазона и желаемой эффективности. Приятного кодирования!