2015-10-15 5 views
-1

Я здесь новый. Пожалуйста, помогите мне. Я должен рассчитать, сколько времени я могу купить, если я использую динамическую сумму денег, поэтому в примере: я могу ввести 5USD или 10USD и т. Д .;JavaScript, рассчитать динамическую сумму

У меня есть таблица:

15minutes -> cost 50 cents 
1hour -> cost 3USD 
2hours -> cost 6,10USD 
3hours -> cost 9,30USD 
4hours -> cost 12,30USD 
5hours -> cost 15,30USD 
6hours -> cost 18,30USD 
7hours -> cost 21,30USD 
8hours -> cost 24,30USD 

Так что мне нужно calculcate в примере, сколько часов и минут я могу за 17 долларов? пожалуйста, помогите мне с наилучшими пожеланиями!

+0

Какой код вы старались? Можете ли вы купить только то, что находится в таблице, или можете купить, скажем, 16 минут? – ergonaut

+2

Выше '3 часа -> стоимость 9,30USD' выглядит линейно по 3 USD/час –

+0

@Alex, no. т.е. на 8 часов это $ 24.3, что означает, что это 3.0375 – g2000

ответ

1

Если вы можете купить только то, что в таблице, вам нужно будет петли

1) buy maximum amount without going over. 
2) capture hours, and calculate money left. 
3) repeat 

Это предполагает, что вы получаете по крайней мере, лучше иметь дело, чем больше времени вы покупаете.

так от 17USD, вы

1) buy 1 card (15,30USD) 
2) 5 hours (total), (1,70USD left) 
1) buy 3 cards (3 x 0,50 = 1,50USD) 
2) 5 hours 45 min (total), (0,20 left) 
exit (not enough to buy lowest card 

Answer = 5 hours 45 min (0,20 left) 

Мое предположение может показаться ошибочным, но здесь хороший рассуждения. Предполагая, что это телефонные карточки, у них обычно есть установленная плата (первый раз) или базовая плата за вызов каждый раз, когда вы совершаете вызов, так что вы фактически не получаете полное время разговора, указанное на карте, только баланс количество.

Они могут сказать, 5с/мин, но 10с основания на вызов заряд, который означает, что вы получите

- a 8 minute call on a "15minute" card for 50 cents, (6.25c/min) 
- a 58 minute call on a "1hour" card for 300 cents (5.17c/min) 
- a 484 minute call on a "8hours" card for 2430 cents (5.02c/min) 

Я знаю, что это может быть больше информации, чем необходимо для ответа, но реализация зависит от того, кодируются как покупатель или продавец. Если вы являетесь покупателем, вам нужно сделать больше математики, а также предоставить информацию о том, что такое плата за установку, плату за вызов и количество вызовов, которые вы планируете делать с каждой карточкой. Вот почему для любого телефонного плана важно знать ваши шаблоны вызовов.

+1

Ваше предположение на самом деле неверно, '1h/15min = 4',' 4 * 50cent = $ 2', поэтому покупка в 15 минутные интервалы являются самыми дешевыми в $ 2/hour, '$ 17/50c * 15 min = 8h 30min' –

Смежные вопросы