Saber si un número es primo o no

Anteriormente vimos como imprimir los números primos en un rango determinado por el usuario, ahora la idea es pedirle al usuario un número y decirle si es primo o no es primo.

#include<iostream>
using namespace std;
 
int main()
{
  int num,c,res,nc=0;
  cout<<"Introduce un número: "; cin>>num;
  for(c=1;c<=num;c++)
  {
    res=num%c;
    if(res==0)
      nc++;
  }
  if(nc==2)
    cout<<"Es primo";
  else
    cout<<"No es primo";
  cin.get();cin.get();
}

En sí, es lo mismo que el anterior. Para darle mas presentación podemos hacer que no se salga a la primera, sino hasta que se introduzca, por ejemplo, un cero. Esto se hace con un ciclo do while.

#include<iostream>
using namespace std;
 
int main()
{
  int num=1,c,res,nc=0,rep=0;
  while(num!=0)
  {
    cout<<"Introduce un número: ";
    if(rep==1)
    {
      cout<<" --> Para salir oprime cero: ";
    }
    rep++;
    cin>>num;
    for(c=1;c<=num;c++)
    {
      res=num%c;
      if(res==0)
        nc++;
    }
    if(nc==2)
      cout<<"Es primo\n\n";
    else
      cout<<"No es primo\n\n";
    nc=0;
  }
}

¿Alguien sabe porqué la variable num empieza en 1 en este caso?

Deja tu comentario