書店

書店

中級

説明

人気の全5巻シリーズの本をもっと売るために、ある書店が、まとめ買いに割引を付けることにしました。

5冊のうちどの本でも、1冊の値段は$8です。

ただし、異なる2冊を買うと、その2冊が5%割引になります。

異なる3冊を買うと、10%割引になります。

異なる4冊を買うと、20%割引になります。

5冊すべてを買うと、25%割引になります。

注意:4冊のうち3冊が異なるタイトルであっても、セットを構成する3冊には10%の割引が付きますが、4冊目は$8のままです。

課題は、同じシリーズの本だけが入った、どんな買い物かごでもその価格を計算し、できるだけ大きな割引が適用されるようにするコードを書くことです。

たとえば、次の本のかごはいくらになるでしょうか?

  • 1冊目の本が2冊
  • 2冊目の本が2冊
  • 3冊目の本が2冊
  • 4冊目の本が1冊
  • 5冊目の本が1冊

この8冊をまとめる方法のひとつは、次のとおりです。

  • 5冊のグループ1つ --> 25%割引(1冊目、2冊目、3冊目、4冊目、5冊目)
  • +3冊のグループ1つ --> 10%割引(1冊目、2冊目、3冊目)

これで合計は次のようになります。

  • 25%割引で5冊
  • +10%割引で3冊

計算すると:

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

合計は$51.60です。

しかし、この8冊を別の方法でまとめると、次のようになります。

  • 4冊のグループ1つ --> 20%割引(1冊目、2冊目、3冊目、4冊目)
  • +4冊のグループ1つ --> 20%割引(1冊目、2冊目、3冊目、5冊目)

これで合計は次のようになります。

  • 20%割引で4冊
  • +20%割引で4冊

計算すると:

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

合計は$51.20です。

そして、$51.20が最も大きな割引になる価格です。

GitHubで編集する リンクは新しいウィンドウまたはタブで開きます
Delphi Pascal Exercism

書店を始める準備はできましたか?

Exercismに登録すれば、76個の演習、そして本物の人間によるメンタリングとともに、Delphi Pascalを学んでマスターできます。すべて無料です。