· NET  · Lectura en 2 min

C#: Cómo saber si un número es primo

Los números primos son muy interesantes para la criptografía. ¿Sabías que hoy en día todavía se siguen buscando números primos? El último descubierto tenía más de 23 millones de cifras…

Los números primos son muy interesantes para la criptografía. ¿Sabías que hoy en día todavía se siguen buscando números primos? El último descubierto tenía más de 23 millones de cifras…

Anteriormente, ya vimos cómo saber si un número es par o impar, a continuación, vamos a ver cómo saber si un número es primo.

Los números primos son muy interesantes para la criptografía. ¿Sabías que hoy en día todavía se siguen buscando números primos? El último descubierto tenía más de 23 millones de cifras…

Volviendo al tema del artículo, debes de saber que un número primo es aquel que únicamente puede ser dividido por 1 y por sí mismo sin residuos.

¿Qué es un número primo?

Los números primos son aquellos que solo pueden ser divididos por sí mismos y por la unidad, es decir, tienen solamente dos divisores. Son fundamentales en el campo de la matemática y se utilizan en distintas áreas como la criptografía. A continuación, aprenderemos cómo identificar si un número es primo de manera sencilla y eficiente.

Función C# para saber si un número es primo

Para solucionar este ejercicio tenemos que hacer una función que recorra todos los números inferiores al nuestro y divida nuestro número por cada uno de ellos:


static void Main(string[] args)
{
  int num = 3;
  
  if(EsPrimo(num))
  {
    //Es un número primo
  }
  else
  {
    //No es un número primo
  }
}

static bool EsPrimo(int numero)
{
  for (int i = 2; i < numero; i++)
  {
    if((numero % i) == 0)
    {
      // No es primo :(
      return false;
    }
  }
  // Es primo :)
  return true;
}

La función es muy simple, básicamente hacemos un bucle for que empiece por 2 (recordar que los primos pueden dividirse por 1) y que el bucle llegue como máximo a nuestro número -1 (un primo puede dividirse por sí mismo).

Utilizamos el % que nos devuelve el residuo de una división para dividir cada número y en caso de que encontremos alguno que no tenga residuo salimos de la función y devolvemos false porque no es un número primo (no tiene sentido seguir comprobando números con el bucle, y desperdiciando recursos de la máquina).

En caso de que no haya salido de la función en el bucle devolvemos true como que es un número primo.

    Compartir
    Volver al blog

    Artículos relacionados

    Ver todos los artículos »
    C# Contar palabras de un texto con .NET

    C# Contar palabras de un texto con .NET

    Un ejercicio común en los estudios o incluso en una entrevista de trabajo es pedirte que hagas una función que cuente las palabras de un texto y las muestre por pantalla.

    Tutorial PHP Date

    Tutorial PHP Date

    Aprende a utilizar la funcion PHP date() con ejemplos y aprende a convertir un string en una fecha con PHP