· Andrés Ledo · 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…
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.