Dados dos enteros positivos empiezan y terminan. La tarea es escribir un programa Python para imprimir todos los números primos en un intervalo.
Definición: Un número primo es un número natural mayor que 1 que no tiene más divisores positivos que 1 y él mismo. Los primeros números primos son {2, 3, 5, 7, 11, ….}.
La idea para resolver este problema es iterar el val de principio a fin usando un ciclo for y para cada número, si es mayor que 1, verifique si divide a n . Si encontramos algún otro número que divide, imprima ese valor.
A continuación se muestra la implementación de Python:
Python3
# Python program to print all # prime number in an interval def prime(x, y): prime_list = [] for i in range(x, y): if i == 0 or i == 1: continue else: for j in range(2, int(i/2)+1): if i % j == 0: break else: prime_list.append(i) return prime_list # Driver program starting_range = 2 ending_range = 7 lst = prime(starting_range, ending_range) if len(lst) == 0: print("There are no prime numbers in this range") else: print("The prime numbers in this range are: ", lst)
Producción:
The prime numbers in this range are: [2,3,5]
Complejidad temporal: O(N 2 ), donde N es el tamaño del rango.
Espacio Auxiliar: O(N).
La solución anterior se puede optimizar utilizando el Tamiz de Eratóstenes . Consulte imprimir números primos en un rango para obtener más detalles.