Ayuda Estudiante Java Saber si un numero es primo sin usar arreglos

Iniciado por hecdoteam, 23 Mayo 2018, 06:03 AM

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

hecdoteam

 >:DQuisiera que alguien super inteligente me saque de la duda si esto es posible o no, no me den respuestas de lento pensar, haciendo comprobaciones con el listado de todos los numeros y comprobando si esta... es algo de tarea programacion 1 eh visto de todo y no encuentro nisiquiera una formula que pueda hacer sin ningun arreglo en java.

engel lex

no se cuales has visto... pero no es necesairo arreglo, sería absurdo, como compruebas un numero primo desconociendo los anteriores?


simplemente con comprobar si el numero es multiplo (funcion modulo) de otro más que si mismo y uno basta...  
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

hecdoteam

Saludos tendrias que ser mas espesifico, me dices hacer si(numero % numero ==0 && numero % 1 == 0) entonces es primo

aclaro que eso no tiene sentido... no funciona.

engel lex

para contardor desde 2 hasta numero-1 entonces
  si numero modulo contardor ==  0 entonces
    retornar "No es primo"
  fin si
fin para
retornar "Es primo"


pruebas todos los numeros desde 2 (ya que el 1 sabemos que siempre divide) hasta el numero menos 1 (esto se puede hacer más optimo, pero debes leer wikipedia sobre los numeros primos y entenderlo, si no, así funciona de todas formas)

esto hará que si tienes por ejemplo 11 divida entre 2,3,4,5,6,7,8,9,10 y como no es divisible entre ninguno, sabemos que es primo

el retorno en el si, romperá el flujo del codigo (por consecuencia el ciclo) evitando calculos innecesarios
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

animanegra

Creo que la pregunta iba en dirección más teórica de si existe una fórmula matemática o lógica para saber si un número es primo per se. Es lo que creo entender por tu primer post, en el que parece que quieres una forma de comprobación de primos que no exija tener array y que no sea lo típico de comprobar los N (N/2) números anteriores. Si la pregunta va por ahi, no, no existe.
De hecho la forma de comprobación de primos muy grandes, los que utilizamos para temas de cifrado RSA, es una fórma estadística que asegura con una alta probabilidad que el número elegido es primo pero no llega al 100%. Se llama metodo de rabin miller y se basa en primero realizar la criba usual de erastoteles de los 2000 primeros primos, más una serie de reglas adicionales sencillas que permiten su verificación estadística.

42
No contesto mensajes por privado, si tienes alguna pregunta, consulta o petición plantéala en el foro para que se aproveche toda la comunidad.

Serapis

Cita de: hecdoteam en 23 Mayo 2018, 06:03 AM
>:DQuisiera que alguien super inteligente me saque de la duda si esto es posible o no, no me den respuestas de lento pensar, haciendo comprobaciones con el listado de todos los numeros y comprobando si esta... es algo de tarea programacion 1 eh visto de todo y no encuentro nisiquiera una formula que pueda hacer sin ningun arreglo en java.
Ni en Java ni en ningún otro lenguaje.

Actualmente no existe ningún algoritmo en tiempo polinomial para resolver si un número dado es primo. Exige usar los primos menores que él.
Si no tiene divisores, es primo...
...luego, que calcules esos primos sobre la marcha o que uses una lista ya precalculada, solo sirve para acelerar la búsqueda.

La solución a ese problema pertenece al cuerpo teórico de las matemáticas.
Mi intuición me dice que sí que existe una función así, pero... de momento, es algo irresoluble.