В этом уроке 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
На снимке экрана ниже показан вывод после выполнения кода.