De decimal a racional

Published by Evgeny SH in

Encuentra la representación racional de un número decimal. El número de entrada se proporciona como una cadena con el formato whole.between(period). La salida debe ser una tupla numerator, denominator tal que gcd(numerator, denominator) == 1.

Ejemplos

find_fraction("0.4") ➞ (2, 5)

find_fraction("0.1(6)") ➞ (1, 6)

find_fraction("0.(3)") ➞ (1, 3)

find_fraction("0.(142857)") ➞ (1, 7)

find_fraction("0.(012987)") ➞ (1, 77)

Notas

  • La longitud de una fracción periódica puede superar los 20 dígitos.
  • La función debe ser eficiente.