El tributo escalonado
- O(n) · Media
- Plan completo
- Python
- JavaScript
- listas
- ciclos
- decimales
Enunciado
Cada otoño, los carros de grano entran a la ciudad de Ur y el escriba cobra el tributo por tramos. Si los topes son 100 y 500 y las tasas 0, 10 y 20 por ciento, los primeros 100 sacos no pagan, los que van del 101 al 500 pagan 10% y los que pasan de 500 pagan 20%. Cada tramo paga solo por los sacos que caen en él.
Escribe una función que reciba limites (los topes, enteros positivos de menor a mayor), tasas (porcentajes enteros, siempre una más que topes: la última es la del tramo sin tope) y cosecha (sacos, un entero de 0 en adelante), y regrese el tributo en sacos, como número. Puede tener decimales: no lo redondees. limites puede venir vacía: entonces toda la cosecha paga la única tasa.
Con 800 sacos: 100 × 0% + 400 × 10% + 300 × 20% = 0 + 40 + 60 = 100.
Ejemplos
Llega al último tramo
[100, 500], [0, 10, 20], 800 → 100
Se queda en el tramo de en medio
[100, 500], [0, 10, 20], 300 → 20
No sale del primer tramo
[100, 500], [0, 10, 20], 80 → 0
Justo en un tope
[100, 500], [0, 10, 20], 500 → 40
Además de estas, el reto tiene pruebas ocultas que se revelan al enviar tu solución.
Empiezas con esto
Python
def paga(limites, tasas, cosecha):
passJavaScript
function paga(limites, tasas, cosecha) {
}Se abre en el navegador, con el editor y las pruebas. Este reto es del plan completo; los de O(1) y O(log n) son gratis.