Ejercicios de Interesantes

Iniciado por + 1 Oculto(s), 16 Junio 2016, 22:19 PM

0 Miembros y 1 Visitante están viendo este tema.

+ 1 Oculto(s)

otra forma de encontrar numeros primos y mas eficiente

numeros primos :

hectornunezrivas

#1
Hola buenas noches.
Yo lo e hecho de la siguiente manera.

Código (java) [Seleccionar]
public class Nprimos {

public void iniciar(int limite)
{
for(int i=1;i<=limite;i++)
{
if(esPrimo(i))
{
System.out.println("Numero Primo:"+i);
}
}
}

public boolean esPrimo(int numero)
{
int aux;

for(int cont=2;cont<numero;cont++)
{
aux=numero%cont;
if(aux==0)

return false;
}
return true;
}
}

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

AlbertoBSD

Hola hace unas semanas abri un topic del tema.

Numeros Primos

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
Donaciones
1Coffee1jV4gB5gaXfHgSHDz9xx9QSECVW

+ 1 Oculto(s)

hola si a eso me referia, hacerlo por fuerza bruta no es adecuado para los casos extremos

AlbertoBSD

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
Donaciones
1Coffee1jV4gB5gaXfHgSHDz9xx9QSECVW