Necesito hacer un algoritmo en Java que encuentre y despliegue los números primos entre uno y cien.
2 Respuestas
Respuesta de rigo123
2
2
rigo123, Programador adolescente, pero con bastante experiencia
Con mucho gusto. Aquí tienes el algoritmo: public class Primos { public static void main(String[] args) { int numeroInicial = 1; //el numero donde empieza int numeroFinal = 100; //el numero donde termina for (int i = 1; i <= (numeroFinal - numeroInicial + 1); i++ ) { //se repite la cantidad de la resta de los numeros inicial //Y final + 1 porque ejemplo si se comienza desde 1 a 5 la diferencia es 4 pero se evalúan 5 números, 1,2,3,4 y el 5 por //eso se suma 1 (en tu caso la resta daría 99 pero del 1 al 100 son números) int divisores = 0; //un numero primo solo puede tener 2 divisores int numeroActual = 0; for (int e = 1; e <= i; e++) { //este for por ejemplo revisa 5 y lo divide por 1, luego 2, 3, 4 y hasta 5 numeroActual = e; if ( (i % e) == 0) divisores++; //aumenta los divisores si se /*Explicación*/if (divisores == 2) {break;} //break detiene el for //Al haber alcanzado los 2 divisores se detiene el for } if (numeroActual == i && i != 1) System.out.println (i); //muestre el número si cumplió los requisitos, excepto //el número uno que no se considera primo /*Explicación*/ //En pocas palabras lo que hace ese for del e, es cancelar cuando ya se dan los dos divisores pero si //Es primo se cancelará en sí mismo (3 alcanza los 2 divisores después de haberse dividido entre 3) entonces //numeroActual que tomó ese valores se compara si 3 == 3 entonces es primo. } } } Cualquier pregunta estoy disponible. Si te resulta muy confuso las explicaciones que vienen en el código puedes preguntarme o borrarlas y analizarlas por ti misma. Genera los siguientes números: 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 Espero haberte ayudado :D <div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">public class Primos { public static void main(String[] args) { int numeroInicial = 1; //el numero donde empieza int numeroFinal = 100; //el numero donde termina for (int i = 1; i <= (numeroFinal - numeroInicial + 1); i++ ) { //se repite la cantidad de la resta de los numeros inicial //Y final + 1 porque ejemplo si se comienza desde 1 a 5 la diferencia es 4 pero se evalúan 5 números, 1,2,3,4 y el 5 por //eso se suma 1 (en tu caso la resta daría 99 pero del 1 al 100 son números) int divisores = 0; //un numero primo solo puede tener 2 divisores int numeroActual = 0; for (int e = 1; e <= i; e++) { //este for por ejemplo revisa 5 y lo divide por 1, luego 2, 3, 4 y hasta 5 numeroActual = e; if ( (i % e) == 0) divisores++; //aumenta los divisores si se /*Explicación*/if (divisores == 2) {break;} //break detiene el for //Al haber alcanzado los 2 divisores se detiene el for } if (numeroActual == i && i != 1) System.out.println (i); //muestre el número si cumplió los requisitos, excepto //el número uno que no se considera primo /*Explicación*/ //En pocas palabras lo que hace ese for del e, es cancelar cuando ya se dan los dos divisores pero si //Es primo se cancelará en sí mismo (3 alcanza los 2 divisores después de haberse dividido entre 3) entonces //numeroActual que tomó ese valores se compara si 3 == 3 entonces es primo. } } } </div>
Hola me pueden ayudar en una tarea es este: Leído N(Z+), encontrar y mostrar el numero primo más próximo a el. ! Gracias por la ayuda!.. - Kevin Camacho
necesita hacerlo con un bucle do{ wuile(); El ejemplo lo tengo en la siguiente web: www.programandoconjava.es.tl en la opcion problemas resueltos do while. Si no te satisface me haces una consulta en la web que te deje y te repsonere en un máximo de 24 horas. Ingresa consulta y siguiere. alexis_0792@hot..
muy bueno - Zeuss Ritoru Senshi
Hola me pueden ayudar en una tarea es este: Leído N(Z+), encontrar y mostrar el numero primo más próximo a el. ! Gracias por la ayuda!.. - Kevin Camacho