Detección eficiente de números primos

PythonPythonBeginner
Practicar Ahora

This tutorial is from open-source community. Access the source code

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En matemáticas, un número primo es un número natural mayor que 1 que no es el producto de dos números naturales más pequeños. Por ejemplo, 5 es primo porque las únicas maneras de escribirlo como un producto, 1 × 5 o 5 × 1, implican a 5 mismo. Sin embargo, 4 no es primo porque es un producto (2 × 2) en el que ambos números son más pequeños que 4. En este desafío, debes escribir una función de Python para comprobar si un número dado es primo o no.

Número es primo

Escribe una función de Python llamada is_prime(n) que tome un entero n como entrada y devuelva True si el número es primo y False en caso contrario. Para resolver este problema, debes seguir estas reglas:

  • Devuelve False si el número es 0, 1, un número negativo o un múltiplo de 2.
  • Utiliza all() y range() para comprobar los números desde 3 hasta la raíz cuadrada del número dado.
  • Devuelve True si ninguno de ellos divide al número dado, False en caso contrario.
from math import sqrt

def is_prime(n):
  if n <= 1 or (n % 2 == 0 and n > 2):
    return False
  return all(n % i for i in range(3, int(sqrt(n)) + 1, 2))
is_prime(11) ## True

Resumen

En este desafío, aprendiste cómo comprobar si un número dado es primo o no utilizando Python. Utilizaste las funciones all() y range() para comprobar los números desde 3 hasta la raíz cuadrada del número dado. También aprendiste cómo devolver True si ninguno divide al número dado, False en caso contrario.