Ejemplo para verificar si un número entero es un número primo o no está usando for loop y si ... otra declaración. 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 conocimiento de los siguientes temas de programación de Python :
- Python if ... else Declaración
- Python para Loop
- Python se 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 otros factores. 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")
Ejecutar código
Salida
407 no es un número primo 11 por 37 es 407
En este programa, la variable num se verifica si es primo o no. Los números menores o iguales a 1 no son números primos. Por lo tanto, solo procedemos si el número es mayor que 1.
Verificamos 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,
[2, num/2]
o [2, num ** 0.5]
. 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.
0 Comentarios
Dejanos tu comentario para seguir mejorando!