Al dividir dos números enteros, puede haber una secuencia infinita de dígitos después del punto decimal (por ejemplo, en los casos de 1/3, 1/7, etc).
Hasta donde yo sé, si los dos números separados son enteros, esta secuencia infinita será, a partir de cierto punto, la repetición de una cierta secuencia finita (esto puede ser cierto también para dividir números racionales y no sólo números enteros, pero me estoy guardando simple por ahora).
Tomemos, por ejemplo, 1/7, es igual a la 0.14285714285714285714285714285714...
La secuencia se repite es 142857, una secuencia de longitud 6.
Otro ejemplo es 1/31, que es igual a 0.032258064516129032258064516129032...
La secuencia se repite es 032258064516129, una secuencia de longitud 15.
Algunas divisiones no comenzar inmediatamente con la repetición de la secuencia, por ejemplo, 3/14 que equivale a 0.21428571428571428571428571428571... (a partir de 2, a continuación, seguido por repeticiones de 142857, una secuencia de longitud 6).
Finalmente, después de este largo discurso, aquí viene una pregunta que me molesta mucho tiempo: es posible encontrar la longitud de la secuencia de repetición usando los 2 números que se están divididos?
Estoy buscando una función que recibe un numerador y un denominador como parámetros y devuelve la longitud de la secuencia repetitiva. Ejemplos de entrada+salida:
F(1,7) = 6
F(1,31) = 15
F(3,14) = 6
F(1,3) = 1
¿Alguien sabe si esto es posible? Y si es así, ¿cómo lograrlo?