Saber si un número es primo o no

Planteamiento del ejercicio:

Se ha de solicitar por teclado un numero entero positivo, para finalizar el programa se ha de teclear el valor –1, en caso de ser el número valido se ha de indicar si el numero es primo o no.



Solución al ejercicio propuesto:

#include <stdio.h>
#include <stdlib.h>
int main()
{
    // Variables a utilizar en el programa
    int numero=0;
    int divisores=0;
    int primo=0; // primo = 0 no primo = 1
    // Solicitar numero entero hasta valor -1
    do
    {
        printf("\nNumero.....: ");
        scanf(" %d",&numero);
        if(numero!=-1 && numero>0)
        {
            // el numero es valido comprobar si es primo
            primo=0;
            divisores=2;
            while(divisores<numero  && primo!=1)
            {
                if(numero%divisores==0) primo=1;
                divisores++;
            }
            // Si primo vale 0 es que el numero es primo
            if (primo==0)
            {
                printf("\nEl numero %d es primo",numero);
            }
            else
            {
                printf("\nEl numero %d no es primo",numero);
            }
        }
    } while(numero!=-1);
    return 0;
}

El resultado del ejercicio ha de ser similar al que se muestra a continuación.

Saber si un número es primo o no.

Saber si un número es primo o no.

 



 

Gracias por vuestra visita y un saludo !!!