Масштабирование диапазона чисел

У меня есть произвольные числа, например 30, 15, 16, 40, 50, их сумма больше 100. Можно ли перевести их в диапазон от 0 до 100 так, чтобы их сумма не превышала 100? Нужен наиболе простой алгоритм
3 года назад от TrinidadKoer

1 ответ



0 голосов
Недостаточно данных для ответа. Если числа произвольные - то можешь уменьшить любое из них ровно настолько, насколько сумма превышала сотню - и она станет равна сотне.
Если количество чисел тоже произвольное - можешь просто выбрасывать их по очереди, пока сумма не станет меньше сотни.
Если важно сохранить и количество и взаимные пропорции между числами, тогда алгоритм такой:
1. Разделить сотню на сумму чисел
2. Умножить результат на каждое из чисел по очереди.
3 года назад от Оксана Калитина

Связанные вопросы