Algoritmo para calcular Numeros Primos en Python

Algoritmo para calcular Numeros Primos en Python

Mediante este articulo aprenderas a crear un algoritmo capaz de calcular numeros primos en python pues probablemente te lo dejaron como tarea de programacion. Python proporciona herramientas poderosas para implementar algoritmos eficientes para encontrar números primos.

Índice
  1. Metodos para Calcular Numeros Primos en Python
    1. Metodo de fuerza bruta
    2. Metodo de Cribado de Eratóstenes

Metodos para Calcular Numeros Primos en Python

Existen varios metodos utilizar en un algoritmo capaz de calcular numeros primos en python, incluidos el método de fuerza bruta y el cribado de Eratóstenes. El método de fuerza bruta consiste en probar si cada número es divisible por algún número menor que él. El cribado de Eratóstenes es un algoritmo más eficiente que elimina los múltiplos de cada número primo encontrado.

Metodo de fuerza bruta

Este método consiste en probar si cada número es divisible por algún número menor que él. Es el enfoque más directo pero menos eficiente para determinar si un numero es primo en python.

def es_primo_fuerza_bruta(numero):
    if numero <= 1:
        return False
    for i in range(2, numero):
        if numero % i == 0:
            return False
    return True

# Ejemplo de uso
numero = 17
print(numero, "es primo:", es_primo_fuerza_bruta(numero))

Explicacion del algoritmo para numeros primos en python

  • La función es_primo_fuerza_bruta toma un número como entrada y devuelve True si el número es primo y False en caso contrario.
  • Se comprueba si el número es menor o igual a 1, en cuyo caso no es primo y se devuelve False.
  • Se itera desde 2 hasta el número - 1.
  • En cada iteración realizada, se realizar una verificacion si el número es divisible por el valor actual de la variable i. Si es así, significa que el número no es primo y se devuelve False.
  • Si ninguna división exacta se encuentra en el rango de 2 a numero - 1, se devuelve True, lo que indica que el número es primo.

Tambien: Algoritmo para sacar la raiz Cuadrada en Python

Metodo de Cribado de Eratóstenes

Este algoritmo más eficiente elimina los múltiplos de cada numero primo encontrado en python, reduciendo la cantidad de números que se deben comprobar para determinar si son primos.

def criba_eratostenes(n):
    primos = []
    numeros = [True] * (n + 1)
    p = 2
    while p * p <= n:
        if numeros[p] == True:
            for i in range(p * p, n + 1, p):
                numeros[i] = False
        p += 1
    for p in range(2, n + 1):
        if numeros[p]:
            primos.append(p)
    return primos

# Ejemplo de uso
numero_limite = 50
print("Números primos hasta", numero_limite, ":", criba_eratostenes(numero_limite))

Explicacion del codigo para calcular numeros primos en python

  • La función criba_eratostenes toma un número n como entrada y devuelve una lista de todos los números primos hasta n.
  • Se inicializa una lista numeros con True para cada índice, indicando que todos los números son primos al principio.
  • Se itera desde 2 hasta la raíz cuadrada de n.
  • Si numeros[p] es verdadero, se marcan como no primos todos los múltiplos de p comenzando desde p*p hasta n.
  • Después de que se hayan marcado todos los múltiplos de los números primos, los números que permanecen marcados como True en la lista numeros son primos, y se agregan a la lista primos.

Estos son dos métodos diferentes para calcular numeros primos en Python. El método de fuerza bruta es simple pero menos eficiente, mientras que el cribado de Eratóstenes es más rápido para determinar los números primos hasta un cierto límite.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir