Hola, muy buenas. Tengo una duda que se podría catalogar como matemática más que duda de programación.
El caso es que la manera que he visto más eficiente para saber si un número es primo en C es la siguiente:
(Código corregido)
Mi duda es: ¿Por qué solo comprobamos los posibles divisores del número a comprobar con la condición 'j*j <= numero_a_comprobar'? Seguro que tiene una respuesta matemática, pero no la se...
Muchas gracias
El caso es que la manera que he visto más eficiente para saber si un número es primo en C es la siguiente:
(Código corregido)
Código (c) [Seleccionar]
unsigned int is_prime = 1, numero_a_comprobar = 2453564567U;
for(j = 2; is_prime == 1 && j*j <= numero_a_comprobar; j++)
is_prime = numero_a_comprobar%j != 0;
// Ahora 'is_prime' almacena si 'numero_a_comprobar' es primo
Mi duda es: ¿Por qué solo comprobamos los posibles divisores del número a comprobar con la condición 'j*j <= numero_a_comprobar'? Seguro que tiene una respuesta matemática, pero no la se...
Muchas gracias