Könyvesbolt

Könyvesbolt

Közepes

Utasítások

Hogy egy népszerű, ötkötetes sorozat különböző könyveiből több példányt adjon el, egy könyvesbolt úgy döntött, hogy kedvezményt ad, ha valaki több könyvet vásárol.

Az öt könyv bármelyikének egy példánya $8-ba kerül.

Ha viszont két különböző könyvet veszel, akkor arra a két könyvre 5% kedvezményt kapsz.

Ha 3 különböző könyvet veszel, 10% kedvezményt kapsz.

Ha 4 különböző könyvet veszel, 20% kedvezményt kapsz.

Ha mind az 5-öt megveszed, 25% kedvezményt kapsz.

Vedd figyelembe, hogy ha négy könyvet veszel, amelyek közül 3 különböző cím, akkor arra a 3-ra, amelyek egy készletet alkotnak, 10% kedvezményt kapsz, a negyedik könyv ára viszont továbbra is $8.

A feladatod, hogy olyan kódot írj, amely kiszámítja bármely elképzelhető bevásárlókosár árát (amelyben csak ugyanannak a sorozatnak a könyvei vannak), a lehető legnagyobb kedvezményt alkalmazva.

Például mennyibe kerül ez a könyvkosár?

  • 2 példány az első könyvből
  • 2 példány a második könyvből
  • 2 példány a harmadik könyvből
  • 1 példány a negyedik könyvből
  • 1 példány az ötödik könyvből

Ezt a 8 könyvet az egyik lehetséges módon így csoportosíthatod:

  • 1 db 5 könyvből álló csoport (1., 2., 3., 4., 5.)
  • 1 db 3 könyvből álló csoport (1., 2., 3.)

Ez a következő végösszeget adná:

  • 5 könyv 25% kedvezménnyel
  • 3 könyv 10% kedvezménnyel

Az eredmény:

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

Ez összesen $51.60.

Ezt a 8 könyvet viszont másképp is csoportosíthatod:

  • 1 db 4 könyvből álló csoport (1., 2., 3., 4.)
  • 1 db 4 könyvből álló csoport (1., 2., 3., 5.)

Ez a következő végösszeget adná:

  • 4 könyv 20% kedvezménnyel
  • 4 könyv 20% kedvezménnyel

Az eredmény:

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

Ez összesen $51.20.

A legnagyobb kedvezményt adva pedig az ár $51.20.

Megvalósítás

Definiálj egy függvényt, a cost-ot, amely egy adott könyvlista költségét számítja ki a meghatározott kedvezmények alapján.

A cost a kedvezmények utáni teljes költséget adja vissza centben. Egyetlen könyv esetén például a költség 800 cent, ami 8,00 dollárnak felel meg. Ehhez a feladathoz csak egész számokkal végzett számításokra van szükség.

Szerkesztés GitHubon A hivatkozás új ablakban vagy lapon nyílik meg
JavaScript Exercism

Készen állsz elkezdeni a(z) Könyvesbolt feladatot?

Iratkozz fel az Exercism-re, hogy megtanuld és elsajátítsd a(z) JavaScript nyelvet 37 fogalom159 feladat segítségével, valódi emberi mentorálással, mindez ingyen.