Фред квазидружественный парень, но на самом деле он подлый.
Из-за этого Фред живет один в маленькой квартире в Лос-Альтос, штат Калифорния. Фред такой подлый, потому что он очень требователен к воде. Поэтому он нуждается в вашей помощи, чтобы выяснить, какой у него счет за воду.
Ваша задача - написать функцию или программу, которая возвращает счет за воду, учитывая количество воды, используемой в качестве входных данных (которое всегда является целым числом).
Потребление воды происходит по уровням. Это означает, что существуют диапазоны цен в зависимости от количества воды.
Это уровни, их цены и количество воды, которое они соответствуют:
Tier I
First 10 Ccf: $3.8476/Ccf
Tier II
Next 17 Ccf: $4.0932/Ccf
Tier III
All subsequent water: $4.9118/Ccf
Для n сотен кубических футов (Ccf) также предусмотрены следующие дополнительные расходы:
CPUC fee: 1.5% of above charges
LIRA quantity surcharge: $0.047*n
PBOP amoritization surcharge: $0.004*n
Сумма сборов уровня I, уровня II, уровня III, CPUC, LIRA и PBOP представляет собой общий счет за воду. Эту сумму вы должны либо вернуть, либо распечатать на консоли с округлением до двух знаков после запятой.
Вот два примера:
Input: 15
... Calculations which you do not need to output but here to help explain:
Tier I: 10*3.8476 = 38.476
Tier II: (15-10)*4.0932 = 20.466
Tier III: 0*4.9118 = 0
Tiers sum: 58.942
CPUC: 1.5% of 58.942 = 0.88413
LIRA: 0.047*15 = 0.705
PBOP: 0.004*15 = 0.06
Total sum: 58.942 + 0.88413 + 0.705 + 0.06 = 60.59113
...
Output: 60.59
Input: 100
... Calculations which you do not need to output but here to help explain:
Tier I: 10*3.8476 = 38.476
Tier II: 17*4.0932 = 69.5844
Tier III: (100-10-17)*4.9118 = 358.5614
Tiers sum: 466.6218
CPUC: 1.5% of = 6.999327
LIRA: 0.047*100 = 4.7
PBOP: 0.004*100 = 0.4
Total sum: 478.721127
...
Output: 478.72
Это код гольф, поэтому выигрывает самый короткий код в байтах!
n
?