#include <stdio.h> // Biblioteca estándar para funciones de entrada/salida
#include <stdbool.h> // Biblioteca para usar el tipo de datos booleano bool
// Definición de la función que determina si un número es primo sin optimización
// La función toma un entero n como argumento y devuelve un booleano
bool esPrimo(int n) {
// Si el número es menor que 2, no es primo
if (n < 2) {
// Devolver false porque los números menores que 2 no son primos
return false;
}
// Probar divisibilidad desde 2 hasta n-1
for (int i = 2; i < n; i++) {
// Si n es divisible por i, entonces no es primo
if (n % i == 0) {
// Devolver false porque n tiene un divisor distinto de 1 y de sí mismo
return false;
}
}
// Si no se encontró ningún divisor, el número es primo
// Devolver true porque n es primo
return true;
}
// Función principal del programa
int main() {
int numero; // Declarar una variable para almacenar el número ingresado por el usuario
// Solicitar al usuario que introduzca un número
printf("Introduce un número: ");
// Leer el número ingresado por el usuario y almacenarlo en la variable numero
scanf("%d", &numero);
// Llamar a la función esPrimo y verificar si el número es primo
if (esPrimo(numero)) {
// Si el número es primo, imprimir el mensaje correspondiente
printf("El número %d es primo.\n", numero);
} else {
// Si el número no es primo, imprimir el mensaje correspondiente
printf("El número %d no es primo.\n", numero);
}
// Terminar el programa devolviendo 0
return 0;
}
To embed this program on your website, copy the following code and paste it into your website's HTML: