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
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