13 de Noviembre del 2009
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?