Простые числа — это увлекательные математические сущности, которые интересовали математиков на протяжении веков. Это целые числа больше единицы, которые можно разделить только на 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 простых чисел. Подход грубой силы, «Решето Эратосфена» и использование заранее вычисленного списка простых чисел имеют свои плюсы и минусы. В зависимости от конкретных требований и ограничений вашего проекта вы можете выбрать наиболее подходящий метод. Поняв эти методы и реализовав их на своем любимом языке программирования, вы сможете глубже погрузиться в мир простых чисел и изучить их интригующие свойства.