Autor
|
Tema: algún algoritmo para decimales periodicos (Leído 5,260 veces)
|
engel lex
|
Por ahora el lenguaje a usar tentativamente es java... por eso pregunto en programación general a ver si me pueden ayudar... podría usar php también por cosas de ver si me funciona y programarlo rápido (también por lo lento me ayudaría a calcular tiempo)
necesito que al realizar una división poder:
notar el decimal es periódico en caso afirmativo detectar el periodo y anteperiodo
hago un ejemplo
124325503/9999900 eso genera algo como esto 12.43267462 siendo el pedazo subrayado el periodo
pienso...
mi primer problema es descartar si el numero es solo un decimal exacto muy largo o un irracional...
mi segundo, si es un periódico, conseguir el periodo
lo que no sabría, es buscar el patrón sino casi a fuerza bruta
¿quien me hecha una manito aquí a ver si puedo avanzar?
|
|
« Última modificación: 27 Septiembre 2012, 17:51 pm por engelx »
|
En línea
|
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.
|
|
|
jvchino
Solo soy un
Ex-Staff
Desconectado
Mensajes: 1.999
La felicidad no es una meta, es un camino.
|
Primero lo primero: Verificar si la división genera un decimal exacto o periódico. - Simplificar la fracción hasta convertirla en irreducible. - Si el divisor resulta múltiplo solo de de 2 y/o de 5 es un decimal exacto. - De lo contrario será un decimal periódico.
Superado el primer paso, puedes continuar con lo que sigue: Determinar el periodo.
Saludos.
|
|
|
En línea
|
Si ayudo a una sola persona a tener esperanza, no habré vivido en vano.
No, nada llega tarde, porque todas las cosas tienen su tiempo justo, como el trigo y las rosas
|
|
|
engel lex
|
no, disculpa que creo que no quedó claro un hecho... el asunto es que el proceso es de "buscar patrones" ya que no conozco la división...
tengo es el resultado... y básicamente es convertirlo a su forma racional...
|
|
|
En línea
|
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.
|
|
|
MCKSys Argentina
|
Suponiendo que expreses los decimales como un string, se me ocurre que podrias implementar un compresor LZW y una vez terminada la compresion, analizar la tabla de códigos y el output generado.
De esta forma, si existe repeticion en el stream de decimales, va a estar reflejado en la tabla (se va a comprimir).
Incluso podrias determinar el periodo excato sin mucho esfuerzo...
Saludos!
|
|
|
En línea
|
MCKSys Argentina "Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."
|
|
|
engel lex
|
me parece excelente... me pondré a pie con un compresor y a ver como es la salida
|
|
|
En línea
|
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.
|
|
|
|
|