Programa de números primos?
Hola a todos. Espero alguien me pueda decir como hacer un programa que vea si un numero es primo ó no, en C++, más específico en el programa Dev-C++. Muchas gracias.
Hola a todos. Espero alguien me pueda decir como hacer un programa que vea si un numero es primo ó no, en C++, más específico en el programa Dev-C++. Muchas gracias.
Comments
include<stdio.h>
main(){
int numero,j;
printf("Intrduzca un numero, luego pulse ENTER");
scanf("%d",&numero);
j=1;
cont=0;
while((j<=numero)){
if((numero%j)==0){
cont=cont+1;
}
j=j+1;
}
if(cont==2)
printf("\nEl numero es primo");
else
printf("\nEl numero NO es primo");
getch();
}
COMENTARIOS POR SI HAY DUDAS:
Un numero primo es aquel q es divisible UNICAMENTE por sí mismo y por la unidad
El simbolo porcentaje devuelve el RESTO de la division (recuerda que la division tiene cociente, resto, dividendo, divisor)
Si el RESTO es igual a cero, es porq el numero es divisible.
Ejemplo1:
3%3= 0 (RESTO DE LA DIVISION)
3%2= 1 (RESTO DE LA DIVISION)
3%1= 0 (RESTO DE LA DIVISION)
En el Ejemplo1 se observa que el numero 3 cumple la condicion para ser PRIMO porque es divisible UNICAMENTE por si mismo (por 3) y por la unidad (por 1)
Ejemplo2:
4%1= 0
4%2= 0
4%3= 1
4%4= 0
En el Ejemplo2 se observa que el numero 4 NO ES PRIMO, porque NO SOLO es divisible por si mismo (por 4) y por la unidad (por 1), sino que ADEMAS es divisible por 2
Yo no sé programar en C++, pero sé codificar en PHP, y aunque son similares, no me atreverÃa a hacerte el programa. Pero encontré esta respuesta que quizá sea la que tú andas buscando:
Función que te dice si un número es primo:
bool isPrime(int p){
if ( p<=1 ) return false;
if ( p == 2 ) return true;
if ( p > 2 ){
for(int i = 2; i < p; ++i){
if (p%i == 0) return false;
}
return true;
}
}
Para hacer una lista de números primos:
for(int i = a; i <= b; ++i){
if (isPrime(i)) cout << i;
}
Espero haya sido de ayuda.
Saludos.