martes, 6 de junio de 2023

¿Cómo saber si un número (el que primero se nos ocurra) es primo? ¿Cómo encontrar los números primos menores que un cierto número (pongamos que 1000)?

Aquí tenéis un algoritmo básico y el código del programa correspondiente en lenguaje Python [1]

def es_primo(numero):
    if numero < 2:
        return False
    for i in range(2, int(numero ** 0.5) + 1):
        if numero % i == 0:
            return False
    return True

# Ejemplo de uso:
numero = int(input("Ingrese un número: "))
if es_primo(numero):
    print(numero, "es un número primo.")
else:
    print(numero, "no es un número primo.")

-oOo-

Y para encontrar los números primos mayores o iguales que $2$ y menores que $1000$, podéis escribir y hacer funcionar el siguiente programa en vuestro intérprete de Python (los hay que podéis utilizar en línea, sin instalar software de desarrollo en vuestro ordenador como, por ejemplo, éste [3]: https://www.tutorialspoint.com/online_python_compiler.php):

  def es_primo(numero):
    if numero < 2:
        return False
    #la búsqueda acaba en la raíz cuadrada del número introducido más una unidad
    for i in range(2, int(numero ** 0.5) + 1):
        if numero % i == 0:
            return False
    return True

primos = []
for num in range(2, 1001):
    if es_primo(num):
        primos.append(num)

print("Números primos hasta 1000:")
print(primos)
  

Al poner en marcha el programa, a cuyo archivo le he dado el nombre de numerosprimos.py, >>> %Run numerosprimos.py
Nota: el símbolo >>> indica el prompt de la cónsola de vuestro entorno de desarrollo (fuera de línea, he utilizado el IDE Thonny [2] (habiendo instalado préviamente Python [1]), que es software libre, y es de fácil uso)
Podéis comprobar que se obtiene (rápidamente, en pocos segundos) ...
Números primos hasta 1000: [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997]
>>> $\diamond$

-oOo-

Utilidades:

  [1] El software básico para trabajar con Python: https://www.python.org/
  [2] Un entorno de trabajo: https://thonny.org/
  [3] Un compilador en línea: https://www.tutorialspoint.com/online_python_compiler.php

No hay comentarios:

Publicar un comentario