Digamos $r$ es un número real y $I_1, I_2$ son números enteros. Quiero esto, $$r*I_1=I_2$$ Esto no es posible todo el tiempo, así que permito añadir un épsilon $\epsilon$ al número real tal que $$(r+\epsilon)*I_1 = I_2$$ ¿Cuál es el valor más pequeño de $\vert\epsilon\vert$ ? Por ejemplo: $r = 0.31, I_1 = 30 \therefore \epsilon = -0.01, I_2 = 9$
Puedo resolver el problema numéricamente. Es decir, considero sólo dos decimales de precisión y busco el más pequeño $\epsilon$ .
Como en el ejemplo, redondeo digamos $r=0.3111$ a $r=0.31$ y multiplicarlo por $I_1$ si el resultado es un entero paro o $r := r \pm 0.01$ entonces realiza los pasos anteriores.
$ I_1 \in \{24, 25, 30, 48, 50, 60\}$ y $r$ se da. Estamos buscando para los más pequeños $\vert\epsilon\vert$ y $I_2$ es la salida. Cualquier $I_2 \ge 0$ es aceptable.