Programa Python para verificar el número primo

Tabla de contenido

Ejemplo para comprobar si un entero es un número primo o no se usa el bucle for y la instrucción if … else. Si el número no es primo, se explica en la salida por qué no es un número primo.

Para comprender este ejemplo, debe tener el conocimiento de los siguientes temas de programación de Python:

  • Declaración de Python if … else
  • Python para bucle
  • Python rompe y continúa

Un entero positivo mayor que 1 que no tiene otros factores excepto 1 y el número en sí se llama número primo. 2, 3, 5, 7, etc. son números primos ya que no tienen ningún otro factor. Pero 6 no es primo (es compuesto) ya que 2 x 3 = 6,.

Código fuente

 # Program to check if a number is prime or not num = 407 # To take input from the user #num = int(input("Enter a number: ")) # prime numbers are greater than 1 if num> 1: # check for factors for i in range(2,num): if (num % i) == 0: print(num,"is not a prime number") print(i,"times",num//i,"is",num) break else: print(num,"is a prime number") # if input number is less than # or equal to 1, it is not prime else: print(num,"is not a prime number") 

Salida

 407 no es un número primo 11 por 37 es 407 

En este programa, la variable num se comprueba si es prima o no. Los números menores o iguales a 1 no son números primos. Por tanto, solo procedemos si num es mayor que 1.

Comprobamos si num es exactamente divisible por cualquier número de 2 a num - 1. Si encontramos un factor en ese rango, el número no es primo. De lo contrario, el número es primo.

Podemos disminuir el rango de números donde buscamos factores.

En el programa anterior, nuestro rango de búsqueda es de 2 a num - 1.

Podríamos haber usado el rango, range(2,num//2)o range(2,math.floor(math.sqrt(num))). El último rango se basa en el hecho de que un número compuesto debe tener un factor menor que la raíz cuadrada de ese número. De lo contrario, el número es primo.

Puede cambiar el valor de la variable num en el código fuente anterior para verificar si un número es primo o no para otros enteros.

Articulos interesantes...