Distinguir si un numero es primo o no en Java !!!!!

Mitcheljam
30 de Marzo del 2006
Por favor alguien que sepa Java auxilieme, necesito hacer un programa que distinga si un numero "wxyz" es primo o no , luego lo rote a : "zyxw" y nuevamente diga si es o no primo, les agradezco sus ayuda, para este viernes 6-Nov-03 Muchas gracias y un saludo a todos los masters de JAVA !!!!!! Correo: [email protected]

ecdl
30 de Marzo del 2006
pues se hace igual que en cualquier otro lenguaje de programación.

no se si te sonará la criba de eratóstenes...
el algoritmo de euclides, etc

mitcheljam
30 de Marzo del 2006
Esoty aprendiendo a programar en JAVA y no conozco ningún otro lenguaje de programación por ello busco a alguien que pueda ayudarme con el codiguito... Lo agradeceria bastante... pues es importante !!! Gracias.

ano-nimo
30 de Marzo del 2006
Aunque soy reacio a darlo todo mascado, aqui te posteo la solucion:

import java.io.*; //importamos clase E/S
/*
*nombre: notaMedia
*autor: yomismo
*fecha: 12/08/03
*Descripcion: es una aplicación que comprueba si un numero
*es o no primo
*/
public class Primo
{
public static int leer() throws IOException
{
//creamos un buffer de lectura para el teclado (System.in)
BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
String aux=in.readLine(); //leemos una linea
int valor=Integer.parseInt(aux); //hacemos la conversion String - int
return valor;
}

public static boolean esPrimo(int valor)
{
boolean primo=true;
//evitamos que nos de como primo el 0,1 y2;
if(valor%2==0&&valor!=2||valor<2)
primo= false;

else
{ int n=3;
//solo tenemos q comprobar hasta la raiz cuadrada del numero
while(n<=Math.sqrt(valor)&&primo)
{ if (valor%n==0) //si encontramos un divisor el numero no es primo
primo= false;
n+=2; //avanzamos de impar en impar
}

}

return primo;
}
/*Metodo principal*/
public static void main(String args[]) throws IOException
{
System.out.println("Introduce el numero");
int numero=leer();

if(esPrimo(numero)) //si el numero es primo
System.out.println("El numero "+i+" es primo");
else //si no lo es
System.out.println("El numero "+i+" no es primo");
}//fin main
}//fin clase primo

ano-nimo
30 de Marzo del 2006
Corrijo un error: para testearlo puse un bucle con indice i, cambiadlo por numero:
System.out.println("El numero "+i+" no es primo");
por
System.out.println("El numero "+numero+" no es primo");

PD. si algun alumno de la UAL ve este codigo, q no me joda y no entregue el mismo, total.. es una pyada de ejercicio...
Salu2


nk6
30 de Marzo del 2006
No se si esto te va a servir, pero hace lo siguiente: tu le metes un número n y te saca los primos anteriores.

public void escribePrimos (int n) {
int i = 1;
int j = 1;
}
i = i + primo (j)
j++
}
}
public int primo(int) {
int i = j-1;
boolean noprimo = true;
while (j>1 && noprimo)
}
if (j%i == 0) noprimo = false; i--j}
if(!noprimo)}
System.out.println(" "+j); return (i); } else return (0);}


No me preguntes que lo he copiado de por ahí, lo dimos en clase y no me enteré muy bien, puede haber algún fallo en los corchetes o en los ;