#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;
}

Embed on website

To embed this program on your website, copy the following code and paste it into your website's HTML: