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

Число, которое делится только на 1 или само на себя, называется простым числом. Например: 2, 3, 5, 7, 11 и т. д.

Здесь мы увидим, как суммировать эти простые числа в диапазоне, то есть мы суммируем все простые числа, присутствующие, скажем, от 1 до 50.

Я напишу программу на Python, которая найдет все простые числа от 1 до 50, а затем просуммирует все эти числа и покажет результат.

Здесь мы попросим пользователя ввести диапазон, чтобы пользователь ввел нижний и верхний диапазон в соответствии со своими требованиями.

Полный код:

def is_prime_numbers(n): 
    for i in range(2,n//2+1): 
        if(n%i==0): 
            return(0) 
    return(1) 
 
lower_range = int(input("Enter your lower range:")) 
upper_range = int(input("Enter your upper range:")) 
prime_numbers_list = []
sum_of_prime_numbers = 0 
for i in range(lower_range, upper_range+1): 
    if(is_prime_numbers(i)): 
        prime_numbers_list.append(i) 
print('The sum of prime numbers:', sum(prime_numbers_list))

Здесь мы просим пользователя выбрать диапазон, используя приведенный ниже код:

lower_range = int(input("Enter your lower range:")) 
upper_range = int(input("Enter your upper range:"))

Когда пользователь выбирает диапазон чисел, я использую цикл for в Python, чтобы взять каждое число и проверить, является ли оно простым числом или нет.

Я написал функцию Python, которая проверяет, является ли число простым или нет.

def check_for_prime_numbers(n): 
    for i in range(2,n//2+1): 
        if(n%i==0): 
            return(0) 
    return(1)

Если число является простым числом, я добавляю это число в пустой список Python и, наконец, использую функцию sum(), чтобы получить сумму всех этих простых чисел.

На скриншоте ниже вы можете видеть, что после того, как я выполнил код, он выдал результат:

Сумма простых чисел в диапазоне

Enter your lower range: 7
Enter your upper range: 27
The sum of prime number: 90

Если вы не хотите использовать функцию sum() в Python, вы также можете использовать оператор сложения += в Python, как показано в исходном коде ниже:

def check_for_prime_numbers(n): 
    for i in range(2, n): 
        if(n%i==0): 
            return(0) 
    return(1) 
 
lower_range_number = int(input("Enter your lower range: ")) 
upper_range_number = int(input("Enter your upper range: ")) 
list_of_prime_numbers = []
sum_of_prime_numbers_in_range = 0 
for i in range(lower_range_number, upper_range_number+1): 
    if(check_for_prime_numbers(i)): 
        list_of_prime_numbers.append(i) 
for i in list_of_prime_numbers:
    sum_of_prime_numbers_in_range += i 
print('The sum of prime number:',sum_of_prime_numbers_in_range)

Ссылается на изображение, представленное ниже, чтобы увидеть выходные данные после успешного выполнения кода.

Выходные данные после успешного выполнения кода

В функции is_prime в Python я использовал выражение число**0,5 для вычисления квадратного корня числа. Квадратный корень участвует в простом числе для проверки логики.

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

Полный код:

def is_prime(number):
    if number < 2:
        return False
    for i in range(2, int(number**0.5) + 1):
        if number % i == 0:
            return False
    return True
 
def sum_of_prime_numbers(start, end):
    current_number = start
    prime_sum = 0
    while current_number <= end:
        if is_prime(current_number):
            prime_sum += current_number
        current_number += 1
    return prime_sum
 
start_range = int(input("Enter the number to start the range: "))
end_range = int(input("Enter the number to end of the range: "))
 
result = sum_of_prime_numbers(start_range, end_range)
print(f"The sum of prime numbers in the range {start_range} to {end_range} is: {result}")

Выход:

Enter the number to start the range: 3
Enter the number to end of the range: 17
The sum of prime numbers in the range 3 to 17 is: 56

Обратитесь к изображению ниже, на нем отобразятся выходные данные после выполнения кода.

Найти простые числа в диапазоне

Здесь я создал специальную функцию на Python, которая будет принимать два аргумента, то есть нижний диапазон и верхний диапазон, чтобы найти сумму простых чисел в диапазоне.

Относится к приведенному ниже полному коду для нахождения суммы простых чисел в заданном диапазоне в Python.

def check_prime_numbers(lower_range, upper_range):
    sum_of_prime_numbers = 0
 
    for num in range(lower_range, upper_range + 1):
        if num > 1:
            for i in range(2, int(num ** 0.5) + 1):
                if(num % i) == 0:
                    break
            else:
                sum_of_prime_numbers += num
 
    return sum_of_prime_numbers
 
result = check_prime_numbers(3, 11)
print(f"The sum of prime numbers in the given interval is: {result}")

Выход:

The sum of prime numbers in the given interval is: 26

На снимке экрана ниже показан вывод после выполнения кода.

сумма всех простых чисел

Добавить комментарий