La solución no es la mejor. (Tomemos, por ejemplo, 1/2 y 9/10.) Una forma de solucionar tu problema es calcular las fracciones continuas de los dos números hasta que se diferencian. Dicen las fracciones continuas empezar a $[x_0;x_1,x_2,x_3]$$[x_0;x_1,x_2,y_3]$,$x_3 \ne y_3$. A continuación, puedes probar todos los valores de $z_3$ $x_3$ $y_3$ incluido para obtener una respuesta. No podría ser más inteligente manera de encontrar el mejor $z_3$, pero de esta forma debe funcionar: se basa en el hecho de que la continuación de la fracción de convergents son alternativamente mayor y menor que el valor que se aproxima, así que uno de $[x_0;x_1,x_2,x_3]$ $[x_0;x_1,x_2,y_3]$ se encuentran entre $a1/b1$$a3/b3$.
Hay una pequeña complicación: supongamos $x_3$ $y_3$ difieren por uno, y uno de los convergents es exacta. Entonces no podría ser capaz de encontrar $z_3$ tal que $[x_0;x_1,x_2,z_3]$ es estrictamente entre el$a1/b1$$a3/b3$. Pero en este caso se puede utilizar la fórmula de los dos convergents (en lugar de en $a1/b1$$a3/b3$) para obtener la respuesta, porque la condición de que $x_3$ $y_3$ difieren por uno es suficiente para garantizar que su desarrollo es la mejor aproximación.
Por ejemplo, 1/2=[0;2] y 9/10=[0;1,9]. Así que difieren en $x_1$, lo que significa que debemos tratar de [0;1] = 1 e [0;2] = 1/2. Tampoco es satisfactoria, así que tome su desarrollo, que es de 2/3.