書店

書店

中等

說明

為了提高一套暢銷系列書(全套共 5 本)的銷量,某間書店決定推出多本合購的折扣。

這五本書不管是哪一本,單買一本都是 $8。

不過,如果你買兩本不同的書,這兩本就能享有 5% 折扣。

買 3 本不同的書,可以享有 10% 折扣。

買 4 本不同的書,可以享有 20% 折扣。

5 本全買,可以享有 25% 折扣。

要注意的是,如果你買了 4 本書,其中 3 本是不同的書名,那麼湊成一套的那 3 本可以享有 10% 折扣,但第 4 本仍然是 $8。

你的任務是寫程式,計算出任何想得到的購物籃價格(籃中只會裝同一系列的書),並盡可能給出最大的折扣。

舉例來說,下面這一籃書要多少錢?

  • 第 1 本書 2 本
  • 第 2 本書 2 本
  • 第 3 本書 2 本
  • 第 4 本書 1 本
  • 第 5 本書 1 本

把這 8 本書分組,其中一種分法是:

  • 1 組 5 本(第 1、2、3、4、5 本)
  • 1 組 3 本(第 1、2、3 本)

這樣總共會是:

  • 5 本享有 25% 折扣
  • 3 本享有 10% 折扣

計算結果為:

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

總共是 $51.60。

不過,這 8 本書還有另一種分組方式:

  • 1 組 4 本(第 1、2、3、4 本)
  • 1 組 4 本(第 1、2、3、5 本)

這樣總共會是:

  • 4 本享有 20% 折扣
  • 4 本享有 20% 折扣

計算結果為:

  • 4 × (100% - 20%) × $8 = 4 × $6.40 = $25.60,再加上
  • 4 × (100% - 20%) × $8 = 4 × $6.40 = $25.60

總共是 $51.20。

而 $51.20 就是折扣最大的價格。

透過 GitHub 編輯 連結會在新視窗或分頁中開啟
Wren Exercism

準備好開始 書店 了嗎?

註冊 Exercism,透過 117 個練習 和真人引導來學習並精通 Wren,全部免費。