Libreria

Libreria

Medio

Istruzioni

Per provare a incoraggiare più vendite di libri diversi di una popolare serie di 5 libri, una libreria ha deciso di offrire sconti sull'acquisto di più copie.

Una copia di uno qualsiasi dei cinque libri costa $8.

Se però acquisti due libri diversi, ottieni uno sconto del 5% su quei due libri.

Se acquisti 3 libri diversi, ottieni uno sconto del 10%.

Se acquisti 4 libri diversi, ottieni uno sconto del 20%.

Se li acquisti tutti e 5, ottieni uno sconto del 25%.

Nota che se acquisti quattro libri, di cui 3 sono titoli diversi, ottieni uno sconto del 10% sui 3 che fanno parte di un gruppo, ma il quarto libro costa comunque $8.

La tua missione è scrivere il codice per calcolare il prezzo di qualsiasi cesto della spesa immaginabile (contenente solo libri della stessa serie), applicando lo sconto più grande possibile.

Per esempio, quanto costa questo cesto di libri?

  • 2 copie del primo libro
  • 2 copie del secondo libro
  • 2 copie del terzo libro
  • 1 copia del quarto libro
  • 1 copia del quinto libro

Un modo di raggruppare questi 8 libri è:

  • 1 gruppo di 5 (1°, 2°, 3°, 4°, 5°)
  • 1 gruppo di 3 (1°, 2°, 3°)

Questo darebbe un totale di:

  • 5 libri con uno sconto del 25%
  • 3 libri con uno sconto del 10%

Il che dà come risultato:

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

Che equivale a $51.60.

Tuttavia, un modo diverso di raggruppare questi 8 libri è:

  • 1 gruppo di 4 libri (1°, 2°, 3°, 4°)
  • 1 gruppo di 4 libri (1°, 2°, 3°, 5°)

Questo darebbe un totale di:

  • 4 libri con uno sconto del 20%
  • 4 libri con uno sconto del 20%

Il che dà come risultato:

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

Che equivale a $51.20.

E $51.20 è il prezzo con lo sconto più grande.

Implementazione

Definisci una funzione, cost, che calcola il costo per un dato array di libri in base agli sconti definiti.

cost restituirà il costo totale (dopo gli sconti) in centesimi. Ad esempio, per un singolo libro il costo è di 800 centesimi, che equivalgono a 8,00 $. Per questo esercizio bastano solo calcoli con numeri interi.

Modifica tramite GitHub Il link si apre in una nuova finestra o scheda
JavaScript Exercism

Vuoi iniziare Libreria?

Iscriviti a Exercism per imparare e padroneggiare JavaScript con 37 concetti159 esercizi e il mentoring di persone reali, tutto gratis.