He encontrado un problema en un software que utilizo para facturar. Tengo una variable (cantidad) entera A que quiero dividir en una suma de dos enteros utilizando un porcentaje p donde $A1 = p*A$ y $A2 = (1-p)*A$ .
Actualmente el software utiliza una función de redondeo. Pero como toma un porcentaje del valor y lo redondea a dos enteros, la ecuación (muy a menudo) deja de ser cierta. Es decir, la suma de A1 y A2 no es A.
Más formalmente: Sea A sea un número entero positivo ( $A \in Z^+$ ) y $p \in [0,1]$ . Quiero $A = A1+A2$ donde $A1, A2 \in Z^+$
Se me ocurrió esto
$$A = \lfloor{p*A\rfloor} + \lceil{(1-p)*A\rceil}$$
donde hago uso de la función floor y ceil. ¿Tiene sentido, es esto cierto?