Librería

Librería

Media

Instrucciones

Para intentar fomentar más ventas de distintos libros de una popular serie de 5 libros, una librería ha decidido ofrecer descuentos en la compra de varios libros.

Un ejemplar de cualquiera de los cinco libros cuesta $8.

Sin embargo, si compras dos libros diferentes, obtienes un 5% de descuento en esos dos libros.

Si compras 3 libros diferentes, obtienes un 10% de descuento.

Si compras 4 libros diferentes, obtienes un 20% de descuento.

Si compras los 5, obtienes un 25% de descuento.

Nota: si compras cuatro libros, de los cuales 3 son títulos diferentes, obtienes un 10% de descuento en los 3 que forman parte de un conjunto, pero el cuarto libro sigue costando $8.

Tu misión es escribir un fragmento de código que calcule el precio de cualquier cesta de la compra concebible (que contenga solo libros de la misma serie), dando el mayor descuento posible.

Por ejemplo, ¿cuánto cuesta esta cesta de libros?

  • 2 ejemplares del primer libro
  • 2 ejemplares del segundo libro
  • 2 ejemplares del tercer libro
  • 1 ejemplar del cuarto libro
  • 1 ejemplar del quinto libro

Una forma de agrupar estos 8 libros es:

  • 1 grupo de 5 --> 25% de descuento (1.º, 2.º, 3.º, 4.º, 5.º)
  • +1 grupo de 3 --> 10% de descuento (1.º, 2.º, 3.º)

Esto daría un total de:

  • 5 libros con un 25% de descuento
  • +3 libros con un 10% de descuento

Lo que da como resultado:

  • 5 x (8 - 2.00) == 5 x 6.00 == $30.00
  • +3 x (8 - 0.80) == 3 x 7.20 == $21.60

Para un total de $51.60

Sin embargo, otra forma de agrupar estos 8 libros es:

  • 1 grupo de 4 libros --> 20% de descuento (1.º, 2.º, 3.º, 4.º)
  • +1 grupo de 4 libros --> 20% de descuento (1.º, 2.º, 3.º, 5.º)

Esto daría un total de:

  • 4 libros con un 20% de descuento
  • +4 libros con un 20% de descuento

Lo que da como resultado:

  • 4 x (8 - 1.60) == 4 x 6.40 == $25.60
  • +4 x (8 - 1.60) == 4 x 6.40 == $25.60

Para un total de $51.20

Y $51.20 es el precio con el mayor descuento.

Editar en GitHub El enlace se abre en una ventana o pestaña nueva
Delphi Pascal Exercism

¿Listo para empezar Librería?

Regístrate en Exercism para aprender y dominar Delphi Pascal con 76 ejercicios y mentoría humana real, todo gratis.