Un exemple va effacer l'idée:diviser un nombre par 5, obtenant le rapport en poids et en l'utilisant pour diviser un autre numéro
nombre A = 12 nombre B = 20
je besoin de diviser A par 5 jusqu'à ce que je ne vais pas moins de 5. Donc, je reçois 3 parties: 5,5 et 2. Maintenant, je dois utiliser ce résultat pour diviser B compte tenu du poids juste calculé. Donc 20 * (5/12), 20 * (5/12), 20 * (2/12) et leur somme de cours doit être exactement égale à B (20 dans notre cas)
Je dois faire ceci sans perdre de précision et en essayant d'avoir le résultat le plus correct possible. Mon exemple utilise int, mais je dois le faire avec des décimales aussi (A pourrait être 12,37 et B pourrait être 20,13 par exemple) Quelqu'un connaît une bibliothèque ou un indice pour le faire?
Donc, juste pour obtenir ce droit (l'exemple est assez confuse - par exemple, ce qui ne « divise A par 5 jusqu'à ce que je ne vais pas moins de 5 » signifie ?): vous voulez une suite de nombres '(a1, a2, ..., an)', tels que tous les éléments sont '<= 5' et' a1/A * B + a2/A * B + ... + an/A * B = B' et 'a1 + a2 + ... + an = A'? De plus: la séquence ne contient-elle que des entiers, ou les doubles sont-ils également valables? – Paul
Avez-vous regardé java BigDecimal et BigInteger? – mba12
Désolé les gars, vous avez raison, la description est mauvaise. Quand je dis que je dois diviser par 5, cela signifie que je peux le faire avec% est égal à 0. Donc si A est 16 -> 5,5,5,1 si A est 6, je reçois 5 et 1, si A est 13 je reçois 5,5 et 3. La séquence peut contenir du double. C'est bon. Mais nous devons faire attention car travailler avec des nombres décimaux est risqué. – darkRevan85