Autor
|
Tema: Numeros primos Otro enfoque (solucionado Pag:2) (Leído 8,416 veces)
|
Norlak
Desconectado
Mensajes: 101
|
Perdonadme por hacer otro post pero en el otro si lo publico ahora no vereis lo que quiero añadir ahora por eso hago otro post de nuevo ruego disculpas. he visto el problema con otro enfoque, alguien me puede decir porque falla gracias. public class Primos { void primo(){ int maxi=97; int x=1; int resul; int y; for (x=2;x<maxi;x++){ // System.out.println(x); System.out.println("divido "+maxi+" entre "+x); resul=maxi%x; if (resul==1.0){ System.out.println("esto vale X cuando entra en el if "+x); System.out.println(maxi); } } } } Hace practicamente todo lo que quiero, pero a la hora de mostrar "maxi" me lo muestra varias veces y yo quiero que solo me lo muestre una vez para que no se repitan tanto y tanto los mismo numeros. gracias nuevamente
|
|
« Última modificación: 24 Noviembre 2011, 22:16 pm por Norlak »
|
En línea
|
Rectificar es de sabios, aprende de tus errores para ser alguien mejor.
|
|
|
$Edu$
Desconectado
Mensajes: 1.842
|
Hacer que salga del bucle queres? si se cumple lo q queres q haga eso q pones y luego un break; no se si es break; en java pero es para salir del bucle for
|
|
|
En línea
|
|
|
|
Norlak
Desconectado
Mensajes: 101
|
Hacer que salga del bucle queres? si se cumple lo q queres q haga eso q pones y luego un break; no se si es break; en java pero es para salir del bucle for
Gracias amigo por contestar aunque sea, si se que es un break, hay esque no e puesto lo que realmente necesito es que cuando comprueba si el 97 es primo pues lo muestre pero solo una vez no todas las veces que lo necesite. gracias
|
|
|
En línea
|
Rectificar es de sabios, aprende de tus errores para ser alguien mejor.
|
|
|
$Edu$
Desconectado
Mensajes: 1.842
|
Pero no entiendo tu logica, porque haces esto: if (resul==1.0) ?
Un numero es primo si lo divides entr 2, entre 3, 4, 5 ... hasta la raiz cuadrada de ese numero y la division no es exacta nunca. Entonces decirlo de otra forma seria que si a 97 lo dividis entre 2 hasta su raiz y no hay un resto == 0 nunca entonces es primo.
Y lo que quieres es que si el numero se divide entre uno, q lo muestre a ese divisor que seria el valor de x.
Eso quieres hacer? tienes q usar el break para salir despues de eso
|
|
|
En línea
|
|
|
|
Norlak
Desconectado
Mensajes: 101
|
Pero no entiendo tu logica, porque haces esto: if (resul==1.0) ?
Un numero es primo si lo divides entr 2, entre 3, 4, 5 ... hasta la raiz cuadrada de ese numero y la division no es exacta nunca. Entonces decirlo de otra forma seria que si a 97 lo dividis entre 2 hasta su raiz y no hay un resto == 0 nunca entonces es primo.
Y lo que quieres es que si el numero se divide entre uno, q lo muestre a ese divisor que seria el valor de x.
Eso quieres hacer? tienes q usar el break para salir despues de eso
nose solo son desbarios de 6 horas que llevo ya con esto y eso son intentos de algo que no a dado fruto XD de todas formas muchas gracias ya mañana posteare el resultado puesto me lo dara el profesor gracias de todas maneras
|
|
|
En línea
|
Rectificar es de sabios, aprende de tus errores para ser alguien mejor.
|
|
|
$Edu$
Desconectado
Mensajes: 1.842
|
Pero explica como es la tarea desde un principio con la letra y vemos si te podemos dar una mano para q lo entiendas
|
|
|
En línea
|
|
|
|
Norlak
Desconectado
Mensajes: 101
|
Pero no entiendo tu logica, porque haces esto: if (resul==1.0) ?
Un numero es primo si lo divides entr 2, entre 3, 4, 5 ... hasta la raiz cuadrada de ese numero y la division no es exacta nunca. Entonces decirlo de otra forma seria que si a 97 lo dividis entre 2 hasta su raiz y no hay un resto == 0 nunca entonces es primo.
Y lo que quieres es que si el numero se divide entre uno, q lo muestre a ese divisor que seria el valor de x.
Eso quieres hacer? tienes q usar el break para salir despues de eso
el if (resul==1) es porque si el numero tiene de resto 0 en alguno de las divisiones hasta ese numero seria primo por ejemplo 7/2= el resto seria 3.5 7/7= el resto seria 1 ( ese uno es al que me refiero)
|
|
|
En línea
|
Rectificar es de sabios, aprende de tus errores para ser alguien mejor.
|
|
|
RyogiShiki
Desconectado
Mensajes: 745
げんしけん - Hikkikomori FTW!!!
|
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
|
|
|
En línea
|
|
|
|
$Edu$
Desconectado
Mensajes: 1.842
|
Estas pensando todo mal, una cosa es el cociente y otra cosa el resto en una division entera. Y si no dejas la letra de la tarea no podremos ayudarte.. lo siento
|
|
|
En línea
|
|
|
|
RyogiShiki
Desconectado
Mensajes: 745
げんしけん - Hikkikomori FTW!!!
|
el if (resul==1) es porque si el numero tiene de resto 0 en alguno de las divisiones hasta ese numero seria primo por ejemplo
7/2= el resto seria 3.5 7/7= el resto seria 1 ( ese uno es al que me refiero)
Creo que tienes algunos conceptos mal. eso que dices no es el resto, es el resultado de la división en la primera el resto es uno, y e la segunda es 0. Lee esto: http://es.wikipedia.org/wiki/RestoSaludos
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
[Python 2.6] Funcion generadora de Numeros primos (5.761.455 primos en 19 seg)
Python
|
katas
|
2
|
9,901
|
10 Marzo 2010, 01:50 am
por Novlucker
|
|
|
NUMEROS PRIMOS
Programación C/C++
|
alviera
|
4
|
6,082
|
7 Diciembre 2010, 06:39 am
por N0body
|
|
|
En donde hago un programa tipo enfoque
Programación Visual Basic
|
GEORGEFRT
|
1
|
1,422
|
14 Julio 2015, 15:56 pm
por 79137913
|
|
|
Separar arreglo en numeros primos y en otro multiplos de 3
Programación C/C++
|
kguaman01
|
2
|
1,579
|
6 Enero 2019, 14:27 pm
por Cero++
|
|
|
Secuencias enfoque Criptográfico
« 1 2 3 »
Criptografía
|
FFernandez
|
21
|
15,666
|
22 Julio 2024, 09:44 am
por eb4bgr
|
|