Numeros primos Otro enfoque (solucionado Pag:2)

Iniciado por Norlak, 24 Noviembre 2011, 19:16 PM

0 Miembros y 3 Visitantes están viendo este tema.

Norlak

Cita de: RyogiShiki en 24 Noviembre 2011, 21:16 PM
Yo se que estás empezando, pero si analisas con mucho detenimientos los codes de [SRC]isPrime al menos el de madpitbull_99 o el de BlackZeroX te darás cuenta que de complejos no tienen ni pisca, y que hacen exactamente lo que $Edu$ dice.

Saludos


Gracias por la colaboracion, yo necesito que me diga los numeros primos comprendidos en el maximo de numeros decimal que puede almacenar para eso utilizo el "Integer.Maxime.Value"

entonces todos teneis un codigo dode pones un numero, y yo no quiero un numero necesito que compruebe todos los numeros, que con cada numero haga la division de todos sus anteriores y me de si es primo o no y me lo muestre en pantalla... por eso no me valen esos codigos porque por mas que intento modificarlos para qu me funcione no puedo


Gracias por todo!
Rectificar es de sabios, aprende de tus errores para ser alguien mejor.

$Edu$

Dices que por ejemplo si maxime.value es 32767 por ahi (ni idea cuanto es ahora) que te muestre en pantalla todos los numeros primos hasta ahi?  O no sera una funcion lo que tenes que hacer que si le pasas como valor el numero 20, mostrara hasta el 20 los numeros primos, que serian 2 , 3, 5, 7, 11, 13, 17, 19 no? eso quieres?

Norlak

Cita de: $Edu$ en 24 Noviembre 2011, 21:29 PM
Dices que por ejemplo si maxime.value es 32767 por ahi (ni idea cuanto es ahora) que te muestre en pantalla todos los numeros primos hasta ahi?  O no sera una funcion lo que tenes que hacer que si le pasas como valor el numero 20, mostrara hasta el 20 los numeros primos, que serian 2 , 3, 5, 7, 11, 13, 17, 19 no? eso quieres?

yo lo que quiero es una funcion que me muestre todos los primos del maximo (180.000.000) mas o menos pues que me de todos los primos desde el 1 hasta ese valor eso es lo que quiero conseguir, gracias por lo del resto estaba super desorientado!
Rectificar es de sabios, aprende de tus errores para ser alguien mejor.

RyogiShiki

#13
Bueno entonces, viste el video que te pase? Este: http://minidosis.org/C++/Tablas/Criba%20de%20Erat%C3%B3stenes/ Lo más complejo que tiene es un Array. Investigaste sobre la Criba de Eratóstenes?

Saludos


Norlak

Cita de: RyogiShiki en 24 Noviembre 2011, 21:35 PM
Bueno entonces, viste el video que te pase? Este: http://minidosis.org/C++/Tablas/Criba%20de%20Erat%C3%B3stenes/ Lo más complejo que tiene es un Array. Investigaste sobre la Criba de Eratóstenes?

Saludos


la criba de eratostenes si la mire compañero pero aun me queda algo grande, el array seria una solucion perfecta si ya me lo hubieran explicado amigo... aun no llemamos a eso asique no puedo realizar el ejercicio con algo que no nos ha explicado aun asi le hechare un super vistazo gracias a todos de verdad, me alegra saber que esta comunidad de verda la gente ayuda
Rectificar es de sabios, aprende de tus errores para ser alguien mejor.

$Edu$

Si te supieras explicar, no tendrias ni q crear 2 temas para esto..

Hace un bucle dentro de otro, el de afuera q sera un bucle desde 1 hasta ese numero "maximo" q tanto dices y el bucle de adentro se encargara de verificar si es primo o no.


procedimiento primo( maximo) {

for (i = 2; i <= maximo; i++)
{

      for (k = 2; k < i; k++)
      {
            if (i%k == 0) {primo = false; break;} // salimos porque no es primo
      }

 if (primo) Mostrar Primo;
}


}

Lo hice asi nomas, para q entiendas la idea de algo facil q puedes hacer, algunas cosas tendras q cambiarla pero la idea la tendras

pd: Fijate q hago q siga hasta el numero y no hasta la raiz como habia dicho antes, pero eso si quieres lo optimizas vs

Norlak

Cita de: $Edu$ en 24 Noviembre 2011, 21:46 PM
Si te supieras explicar, no tendrias ni q crear 2 temas para esto..

Hace un bucle dentro de otro, el de afuera q sera un bucle desde 1 hasta ese numero "maximo" q tanto dices y el bucle de adentro se encargara de verificar si es primo o no.


procedimiento primo( maximo) {

for (i = 2; i <= maximo; i++)
{

      for (k = 2; k < i; k++)
      {
            if (i%k == 0) {primo = false; break;} // salimos porque no es primo
      }

 if (primo) Mostrar Primo;
}


}

Lo hice asi nomas, para q entiendas la idea de algo facil q puedes hacer, algunas cosas tendras q cambiarla pero la idea la tendras

pd: Fijate q hago q siga hasta el numero y no hasta la raiz como habia dicho antes, pero eso si quieres lo optimizas vs

voy a intentar pulirlo ahora te cuento gracias amigo, y perdona por no saber explimarme intente ser claro pero no lo hice, de los errores aprendemos gracias
Rectificar es de sabios, aprende de tus errores para ser alguien mejor.

Norlak

#17
Cita de: $Edu$ en 24 Noviembre 2011, 21:46 PM


Citar

int i;
   int j=1836311903;//maximo valor
         Tabulo tbl=new Tabulo();
             for (int num=1;num<=j;num++){
                    
            
                     for (i=2;num%i!=0 && i<(num-1);i++){        
                     }
                     if (num%i!=0 || num==2){

incluso le he creado un modulo para que los tabule y no quede tan basto la lista

Citarint columna=0;//Ponemos columna a cero, para que cuando se imprima las columnas que queramos, vuelva a imprimir en la primera columna
   
    void tabulando (int suma){//este metodo recibe un numero.
   
            System.out.format("%15d" ,suma);//aqui imprime el numero suma, el espacio de impresion lo da el %20, la d significa entero
            columna++;//sumamos las columnas.
            if (columna==7){//5 son las columnas que vamos a imprimir
                    System.out.println();//Aqui damos un salto de linea
                    columna=0;//ponemos columna a 5 para que empiece desde la columna 1 a imprimir de nuevo
                           
            }
           
    }
   


}



Gracias a todos en especial, a Edu,RyogiShiki,MadPitbull, y todos los que por lo menos han intentado hecharme una mano. gracias
Rectificar es de sabios, aprende de tus errores para ser alguien mejor.

$Edu$

Bueno no se entiende si lo terminaste mirando el codigo, que no entiendo nada pero bueno felicitaciones si lo lograste entender y hacerlo.