Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Необходимо составить математическую формулу расчета стоимости товара.

Есть множество товаров 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. И в любом случае цены немного поменяются на каждое кол-во товаров. А нужно, чтобы тарифы всегда стоили одинаково.

Соответственно нужно составить формулу, которая бы убирала все минусы и между тем была бы простой для реализации.

Сразу указывайте ваш опыт и возможные пути решения.

12 лет назад
safeway
Денис 
43 годаГермания
14 лет в сервисе
Был
3 месяца назад