購書最便宜的方案

2022-07-17 07:18:07 字數 962 閱讀 5932

#include using

namespace

std;

void lowestprice(int

n) cout

<

書的最低**是:

"<

}void

main()

題目:書店針對《哈利波特》系列書籍進行**活動,一共5卷,用編號0、1、2、3、4表示,單獨一捲售價8元, 具體折扣如下所示: 本數 折扣 2 5% 3 10% 4 20% 5 25%

根據購買的卷數以及本數,會對應不同折扣規則情況。單數一本書只會對應乙個折扣規則,例如購買了兩本卷1,一本卷2,則可以享受5%的折扣,另外一本卷一則不享受優惠。 設計演算法能夠計算出讀者購買一批書的最低**。 

思路:有題目可知,在購買的書的本數n小於10時,2-5本按照對應的折扣進行計算即可,當6<=n<=9時,要考慮如何購買可以使價錢最少。通過計算當n=6時,按照5本一套加上剩下的一本,價錢最少。當n=7時,按照5本一套加上剩下的2本價錢最少,當n=8時,按照4本一套共買兩套價錢最少,當n=9時,按照5本一套加上剩下的4本價錢最少。             當在購買的書的本數n大於10時,n除以10,商p餘q。整數部分即按照5本一套買2p套,剩下的q則根據上邊的2-9進行計算即可

總結:其實這個想法多虧了老師的提醒,討論6-9使整個計算過程簡單了不少然後當大於10時,採用對n除以10取餘的方法,此處我採取的是除以10,而不是除以五,除以10得到的餘數更明顯能夠看出是2-9中的那個數,是計算更加簡便

軟體工程課堂訓練 最便宜購書方案

一 實驗題目 某書店針對 哈利波特 系列書籍進行 活動,一共5卷,用編號0 1 2 3 4表示,單獨一捲售價8元,具體折扣如下所示 本數 折扣 2 5 3 10 4 20 5 25 根據購買的卷數以及本數,會對應不同折扣規則情況。單數一本書只會對應乙個折扣規則,例如購買了兩本卷1,一本卷2,則可以享...

最便宜買鉛筆方案

題目描述 p老師需要去商店買n支鉛筆作為小朋友們參加noip的禮物。她發現商店一共有 33種包裝的鉛筆,不同包裝內的鉛筆數量有可能不同,也有可能不同。為了公平起 見,p老師決定只買同一種包裝的鉛筆。商店不允許將鉛筆的包裝拆開,因此p老師可能需要購買超過nn支鉛筆才夠給小朋 友們發禮物。現在p老師想知...

2023年電信最便宜的套餐 2020最便宜的流量卡

江西吳 158 9568 4分鐘前2020最便宜的流量卡 移動29元包100g流量卡 廣西柳 159 9117 4分鐘前2020最便宜的流量卡 聯通29元包100g流量卡 江蘇鐘 133 7305 1分鐘前2020最便宜的流量卡 移動29元包100g流量卡 江西陳 132 7933 5分鐘前2020...