El siguiente programa pide un número por teclado e indica si es un número primo o no. Un número primo es aquel que solo puede dividirse entre 1 y si mismo. Por ejemplo: 25 no es primo, ya que 25 es divisible entre 5, sin embargo, 17 si es primo. Un buen truco para calcular la raíz cuadrada del numero e ir comprobando que si es divisible desde ese numero hasta 1. NOTA: Si se introduce un numero menor o igual que 1, directamente es no primo.
package Ejemplosentencias;
//@author Danilo
import javax.swing.JOptionPane;
public class PrimoApp {
public static void main(String[] args) {
String texto=JOptionPane.showInputDialog("Introduce un numero");
int numero=Integer.parseInt(texto);
//Un numero negativo, el 0 y el 1, son directamente no primos.
if (numero<=1){
System.out.println("El numero "+numero+" no es primo");
}else{
//Hacemos un casting para que nos devuelva un numero entero
int raiz=(int)Math.sqrt(numero);
int contador=0;
//Contamos el numero de divisibles
for (int i=raiz;i>1;i--){
if (numero%i==0){
contador++;
}
}
/*Segun el numero de divisibles, sabemos si es primo o no
* Si es primo el contador sera 0
*/
//Mensaje de traza
System.out.println(">>"+contador);
if (contador<1){
System.out.println("El numero "+numero+" es primo");
}else{
System.out.println("El numero "+numero+" no es primo");
}
}
}
}
Danilo M
No hay comentarios:
Publicar un comentario