Я пишу приложение, размещенное на JVM, которое работает со многими числами с плавающей запятой; по этой причине программа сталкивается с серьезными проблемами потери точности. Реальные значения - нет-нет, поскольку производительность тоже является проблемой.
Учитывая набор положительных двойников (длина может быть любой больше 100 и меньше 100 000), мне нужно изменить каждый элемент в соответствии с параметром p с двумя основными требованиями:
- Сумма всех значений должна быть равна p.
- Соотношения должны оставаться равными или изменяться как можно меньше.
Очень простой пример с n=3 и p=10,0: (0.45, 2.0, 0.05)
становится (1.8, 8.0, 0.2)
.
Есть ли какая-нибудь библиотека для достижения такого результата? Если нет, то какой алгоритм мне следует использовать?
p/SUM(L)
? - person CollinD   schedule 16.11.2016double
. См. этот вопрос. - person Filippo Costa   schedule 16.11.2016double
. Остается правильный ответ. - person user207421   schedule 16.11.2016