Составить формулу расчета стоимости
Необходимо составить математическую формулу расчета стоимости товара.
Есть множество товаров N.
Стоимость одного товара X
И в принципе известна максимальная стоимость за все N товары (то есть значение, которое не должно быть превышено) - Y
Соответственно выходит, что если покупаем 1 товар, то платим X. Если покупаем все товары сразу, то платим Y.
Проблема в расчете промежуточных значений. То есть 2 товара должны стоить меньше, чем X*2. Другими словами, чем больше покупаем, тем должна быть цена ниже в пересчете на один товар.
Сейчас формула работает по принципу:
Цена купленных товаров = Цена одного товара (X) + (кол-во купленных товаров) * (Цена за все товары Y - Цена одного товара X) / (общее кол-во товаров)
Например,
X = 20, Y=120
Всего товаров = 10
Мы покупаем = 3
Цена купленных товаров = 20 + 3*(120-20)/10 = 50
Вот один из минусов формулы, получается дешевле по отдельности 2 продукта купить, чем сразу одной покупкой.
Еще один минус формулы, что если Всего товаров изменится (станет больше или меньше), то надо менять цену Y. И в любом случае цены немного поменяются на каждое кол-во товаров. А нужно, чтобы тарифы всегда стоили одинаково.
Соответственно нужно составить формулу, которая бы убирала все минусы и между тем была бы простой для реализации.
Сразу указывайте ваш опыт и возможные пути решения.