Livraria

Livraria

Médio

Instruções

Para tentar incentivar mais vendas de títulos diferentes de uma popular série de 5 livros, uma livraria decidiu oferecer descontos na compra de vários livros.

Um exemplar de qualquer um dos cinco livros custa $8.

Se, no entanto, você comprar dois livros diferentes, ganha 5% de desconto nesses dois livros.

Se você comprar 3 livros diferentes, ganha 10% de desconto.

Se você comprar 4 livros diferentes, ganha 20% de desconto.

Se você comprar os 5, ganha 25% de desconto.

Repare que, se você comprar quatro livros, dos quais 3 são títulos diferentes, ganha 10% de desconto nos 3 que formam um conjunto, mas o quarto livro ainda custa $8.

Sua missão é escrever código para calcular o preço de qualquer cesta de compras imaginável (contendo apenas livros da mesma série), dando o maior desconto possível.

Por exemplo, quanto custa esta cesta de livros?

  • 2 exemplares do primeiro livro
  • 2 exemplares do segundo livro
  • 2 exemplares do terceiro livro
  • 1 exemplar do quarto livro
  • 1 exemplar do quinto livro

Uma forma de agrupar esses 8 livros é:

  • 1 grupo de 5 (1º, 2º, 3º, 4º, 5º)
  • 1 grupo de 3 (1º, 2º, 3º)

Isso daria um total de:

  • 5 livros com 25% de desconto
  • 3 livros com 10% de desconto

Resultando em:

  • 5 × (100% - 25%) × $8 = 5 × $6.00 = $30.00, mais
  • 3 × (100% - 10%) × $8 = 3 × $7.20 = $21.60

O que dá $51.60.

No entanto, outra forma de agrupar esses 8 livros é:

  • 1 grupo de 4 livros (1º, 2º, 3º, 4º)
  • 1 grupo de 4 livros (1º, 2º, 3º, 5º)

Isso daria um total de:

  • 4 livros com 20% de desconto
  • 4 livros com 20% de desconto

Resultando em:

  • 4 × (100% - 20%) × $8 = 4 × $6.40 = $25.60, mais
  • 4 × (100% - 20%) × $8 = 4 × $6.40 = $25.60

O que dá $51.20.

E $51.20 é o preço com o maior desconto.

Editar via GitHub O link abre em uma nova janela ou aba
ABAP Exercism

Tudo pronto para começar Livraria?

Crie sua conta no Exercism para aprender e dominar ABAP com 54 exercícios e mentoria humana de verdade, tudo de graça.