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?
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.
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...
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!
me parece excelente... me pondré a pie con un compresor y a ver como es la salida