Detección eficiente de números primos

Beginner

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

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.