人気の全5冊シリーズの本をもっとたくさん売るために、ある書店はまとめ買いの割引を提供することにしました。
5冊のうちどの本でも、1冊の値段は$8です。
ただし、異なる2冊を買うと、その2冊に5%の割引が適用されます。
異なる3冊を買うと、10%の割引になります。
異なる4冊を買うと、20%の割引になります。
5冊すべてを買うと、25%の割引になります。
4冊買う場合で、そのうち3冊が異なるタイトルであれば、セットを構成する3冊には10%の割引が適用されますが、4冊目は$8のままであることに注意してください。
今回のミッションは、考えうるどんな買い物かご(同じシリーズの本だけが入っているもの)の値段も、できるだけ大きな割引になるように計算するコードを書くことです。
たとえば、次の本のかごはいくらになるでしょうか?
この8冊をまとめる方法の1つは、次のとおりです。
これで合計は次のようになります。
その結果は次のとおりです。
合計は$51.60になります。
ただし、この8冊をまとめる別の方法もあります。
これで合計は次のようになります。
その結果は次のとおりです。
合計は$51.20になります。
そして、$51.20が最も大きな割引が適用された価格です。
関数costを定義します。この関数は、与えられた本の配列と定義済みの割引をもとに、コストを計算します。
costは、割引後の合計金額をセント単位で返します。
たとえば、本1冊の場合のコストは800セントで、8.00ドルに相当します。
この演習では、整数の計算だけで十分です。
Exercismに登録すれば、37個のコンセプト159個の演習、そして本物の人間によるメンタリングとともに、JavaScriptを学んでマスターできます。すべて無料です。