[ Foro de Java ]
Mi profe de programación me pidió un programa para detectar si un número es primo o no, así que hice este código:
public static void main(String[] args) {
int num, cont=0, div;
Scanner lector= new Scanner(System.in);
System.out.println("Numero: ");
num=lector.nextInt();
div=num;
if(num%2==0 && num!=2 || num%3==0 && num!= 3)
{
System.out.println("El número no es primo");
}
else
System.out.println("El número es primo");
}
Mi pregunta es: ¿Saben si la evaluación "if(num%2==0 && num!=2 || num%3==0 && num!= 3)" para saber si es primo o no, es matemáticamente correcta?
No es correcta. También puede ser divisible entre 5, 7, 11... Debes emplear un bucle, típicamente un "for".
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)