Foro de elhacker.net

Programación => Java => Mensaje iniciado por: + 1 Oculto(s) en 16 Junio 2016, 22:19 pm



Título: Ejercicios de Interesantes
Publicado por: + 1 Oculto(s) en 16 Junio 2016, 22:19 pm
otra forma de encontrar numeros primos y mas eficiente

numeros primos :


Título: Re: Ejercicios de Interesantes
Publicado por: hectornunezrivas en 25 Junio 2016, 07:48 am
Hola buenas noches.
Yo lo e hecho de la siguiente manera.

Código
  1. public class Nprimos {
  2.  
  3. public void iniciar(int limite)
  4. {
  5. for(int i=1;i<=limite;i++)
  6. {
  7. if(esPrimo(i))
  8. {
  9. System.out.println("Numero Primo:"+i);
  10. }
  11. }
  12. }
  13.  
  14. public boolean esPrimo(int numero)
  15. {
  16. int aux;
  17.  
  18. for(int cont=2;cont<numero;cont++)
  19. {
  20. aux=numero%cont;
  21. if(aux==0)
  22.  
  23. return false;
  24. }
  25. return true;
  26. }
  27. }
  28.  
El programa funciona de la siguiente manera:
Se tiene un limite, el cual es una variable que establece el usuario. Lo que se realiza es ir probando todos los numeros del 1 hasta ese limite si es primo o no. Cada numero que se encuentre que sea primo entre el 1 y nuestro limite sera desplegado en pantalla, aquellos que no lo sean seran ignorados.


Mod: Los códigos deben ir en etiquetas GeSHi


Título: Re: Ejercicios de Interesantes
Publicado por: AlbertoBSD en 25 Junio 2016, 12:20 pm
Hola hace unas semanas abri un topic del tema.

Numeros Primos (http://foro.elhacker.net/programacion_general/numeros_primos-t452146.0.html)

Se mencionan metodos matematicos para determinar si un número es probable primo.

He probado varios de ellos y son muchisimo mas rapidos que los metodos por fuerza bruta.

Yo en lo personal antes realizaba ese metodo por fuerza bruta pero solo lo realizaba contra una lista previa de numeros primos, el detalle que ai.quieres determinar al 100% de seguridad que X numero es primo tenias que tener una lista de al menos todos los numeros primos menores que la raiz de X

Y si el numero era muyyyy grande tarabas una eternidad en comprobarlo. Y es ahi donde entrar loa metodos de probables primoa donde solo tienes que realizar unas cuantas operaciones modulo (unas 5) y una que otra comprobacion adicional

Saludos


Título: Re: Ejercicios de Interesantes
Publicado por: + 1 Oculto(s) en 25 Junio 2016, 15:42 pm
hola si a eso me referia, hacerlo por fuerza bruta no es adecuado para los casos extremos


Título: Re: Ejercicios de Interesantes
Publicado por: AlbertoBSD en 25 Junio 2016, 15:48 pm
El test de primalidad es bueno para comenzar se necesitan algunas operaciones de exponenciacion modular y solo necesitas comprobar que los resultados ahi expuestos sean 1 con 4-5 numeros distintos.

https://en.m.wikipedia.org/wiki/Primality_test#Probabilistic_tests