買書優惠問題

2022-07-18 22:15:36 字數 1287 閱讀 6576

1,題目

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

本數折扣

5%10%

20%25%

根據購買的卷數以及本數,會對應不同折扣規則情況。單數一本書只會對應乙個折扣規則,例如購買了兩本卷1,一本卷2,則可以享受5%的折扣,另外一本卷一則不享受優惠。

設計演算法能夠計算出讀者購買一批書的最低**。

2,思路

通過如下計算: 

本數***格

本數***格

30+8=38

15.2

30+15.2=45.2

21.6

30+25.6*2=51.2

25.6

30+25.6=55.6

30*2=60

可得規律是:當數量超過一套時,優先一套購買。其中若大於5本且多出3本構成8餘數的,***格要按照(n/5-1)*8*0.75+25.6*2單獨來算。

3,**

#includeusing

namespace

std;

void

main()

cout

<< "購買"

本書最折扣的**是:

"cout

<< "

******************************

"<

cout

<< "

是否繼續?

"<

cout

<

繼續請輸入1,退出輸入0

"<

cin >>j;

cout

<< "

*******************

"<

switch

(j)

}

4,截圖

5,總結

程式設計就是運用數學的方式方法將事件抽象化來進行計算。尤其是找規律,就可以運用程式設計中的迴圈來節省步驟。

一直不能將數學思維和變成很好的聯絡起來,其實這兩者是密不可分,相輔相成的。運用數學和程式進行溝通就會簡單很多。

《哈利波特》買書最優惠演算法

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

最優買書問題

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

買書問題的實現

這道題首先想到的是貪心,但是很不好分析正確性。演算法上講的,貪心演算法需要具有最優子結構和貪心選擇的性質,在這裡都不好證明。然後就是動態規劃了,貼一下我的實現 我努力的使 簡潔一些,可還是不太好看。include include include using std cin using std cou...