Страницы

Поиск по вопросам

понедельник, 15 июля 2019 г.

Как считать общую стоимость, когда цена единицы меняется шагами?

Пользователь вводит количество писем, и получает общую стоимость рассылки. Есть массив количеств писем post и массив цен за отправку одного письма из этих диапазонов prescurant
var post = [1000, 3000, 5000, 10000, 20000]; var prescurant = [0, 0.08, 0.07, 0.06, 0.05, 0.04];
за первые 1000 писем пользователь отдаст по 0 руб.; за письма с 1001 по 3000-е он отдаст по 0.08 руб. за письмо; с 3001 до 5000 – по 0.07 руб.; и т.д. каждое письмо свыше 20000 стоит по 0.04 рубля.
Как рассчитать общую стоимость, когда цена единицы меняется шагами и заданы эти пороги?

Пытался так:
var val=2000//введеные пользователем кол-во писем for(i=0;i

Ответ

Вот как надо на такие вопросы отвечать
var post=[1000,3000,5000,10000,20000],prescurant=[0,0.08,0.07,0.06,0.05,0.04],val=5001; for(var i=0,otv=0;val>0;otv+=prescurant[i]*(val>(i?(post[i]-post[i-1]):post[i])?i?(post[i]-post[i-1]):post[i]:val),val-=i?(post[i]-post[i-1]):post[i],i++); console.log(otv);

Комментариев нет:

Отправить комментарий