Fracción continua racional X91235


Statement
 

pdf   zip

Este enunciado sólo se visualiza correctamente en su versión pdf.

Todo número racional nm\displaystyle\frac{n}{m} se puede representar como una fracción continua finita. Para calcular la fracción continua basta repetir tres sencillos pasos:

  1. El resultado de la división nm\displaystyle\frac{n}{m} se separa en cociente qq y resto rr para obtener q+rmq + \displaystyle\frac{r}{m}

  2. Si el resto rr es distinto de cero, se repite el proceso con mr\displaystyle\frac{m}{r}.

  3. Si el resto es cero, se finaliza

Por ejemplo:

9835=2+2835=2+13528=2+11+728=2+11+1287=2+11+14\displaystyle\frac{98}{35} = 2 + \displaystyle\frac{28}{35} = 2 + \displaystyle\frac{1}{\displaystyle\frac{35}{28}} = 2 + \displaystyle\frac{1}{1 + \displaystyle\frac{7}{28}} = 2 + \displaystyle\frac{1}{1 + \displaystyle\frac{1}{\displaystyle\frac{28}{7}}} = 2 + \displaystyle\frac{1}{1 + \displaystyle\frac{1}{4}}

La última expresión, correspondiente a la fracción continua se suele codificar con la lista de los valores enteros que se suman más el último denominador:

[2, 1, 4]

Se pide programar la función fraccion_continua_racionalfraccion\_continua\_racional que, dados dos valores enteros positivos nn y mm, devuelva la lista de enteros que conforman la fracción continua equivalente.

Ejemplo de sessión

Sample session
>>> fraccion_continua_racional(765, 100)
[7, 1, 1, 1, 6]
>>> fraccion_continua_racional(98,35)
[2, 1, 4]
>>> fraccion_continua_racional(98,34)
[2, 1, 7, 2]
Information
Author
InfBesos
Language
Spanish
Official solutions
Python
User solutions
Python