购买《哈利波特》系列书籍的最低价格

一、题目:

书店针对《哈利波特》系列书籍进行促销活动,一共5卷,用编号0、1、2、3、4表示,单独一卷售价8元, 具体折扣如下所示:
                               本数                  折扣
                                   2                       5%
                                   3                       10%
                                   4                       20%
                                   5                       25%

根据购买的卷数以及本数,会对应不同折扣规则情况。单数一本书只会对应一个折扣规则,例如购买了两本卷1,一本卷2,则可以享受5%的折扣,另外一本卷一则不享受优惠。
设计算法能够计算出读者购买一批书的最低价格。
要求将设计思想、代码实现、实现截图、个人总结以博文的形式发表。

二、解题思路:

1、当购书本数在0-10之间时,

购书本数  购书搭配 所需钱数 花费最少的搭配组合
1 1 8          1
2 2 15.2          2
3 3 21.6          3
4 4 25.6          4
5 5 30          5
6 5+1  4+2  3+3 38      40.8   43.2          5+1
7 5+2  4+3 45.2   47.2          5+2
8 5+3  4+4 51.6   51.2          4+4
9 5+4  55.6          5+4
10 5+5 60          5+5

2、当购书本书大于10时,相应的购书策略为:每10本书一组,对书本进行分组,完整的组最低的价格为60元,不完整的组对应1求取最小的花费,最后求和。

三、源代码:

import java.util.Scanner;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public  class hali  {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int a,b;
        double less;
       System.out.print("请输入买的本书:");
       Scanner sc=new Scanner(System.in);
       int sum=sc.nextInt();
       a=sum/10;
       b=sum%10;
       less=0;
       switch(9-b)
       {
       case 0:
           less+=4.4;
       case 1:
           less+=6;
       case 2:
           less+=7.2;
       case 3:
           less+=8;
       case 4:
           less+=4.4;
       case 5:
           less+=4;
       case 6:
           less+=6.4;
       case 7:
           less+=7.2;
       case 8:
           less+=8;
       case 9:
           less+=60*a;
       }
       System.out.print("最低价格:"+less);

    }

}

测试截图:

四、实验总结:

这次对于购买《哈利波特》书籍的问题,首先举出特例,然后从中找到规律。

时间: 2024-12-29 13:31:24

购买《哈利波特》系列书籍的最低价格的相关文章

如何购买一批书使其最低价格

题目要求: 某书店针对<哈利波特>系列书籍进行促销活动,一共5卷,用编号0.1.2.3.4表示,单独一卷售价8元,具体折扣如下所示: 本数                  折扣 2                       5% 3                       10% 4                       20% 5                       25% 根据购买的卷数以及本数,会对应不同折扣规则情况.单数一本书只会对应一个折扣规则,例如购买了两本卷

购买《哈利波特》书籍问题

一.题目要求 书店针对<哈里波特>系列书籍促销活动,一共5卷,用编号0.1.2.3.4表示,单独一卷价格为8元,具体的优惠信息如下: 本数               折扣 2                   5% 3                  10% 4                  20% 5                  25% 根据购买的卷数,享受相应的优惠,由此设计程序能够购买一批书以其最低价格. 二.设计思路 已有的五本书之内的优惠,已经在表中详细列出了,购买6

课堂练习——计算法能够计算出读者购买一批书的最低价格。

1.题目. 书店针对<哈利波特>系列书籍进行促销活动,一共5卷,用编号0.1.2.3.4表示, 单独一卷售价8元, 具体折扣如下所示:                          本数                  折扣                          2                       5%                          3                       10%                          4  

设计算法能够计算出读者购买一批书的最低价格

一.题目:      n书店针对<哈利波特>系列书籍进行促销活动,一共5卷,用编号0.1.2.3.4表示,单独一卷售价8元, 具体折扣如下所示 本数 2,折扣5%:本数 3,折扣10%:本数4 ,折扣20%:本数5,折扣25%:根据购买的卷数以及本数,会对应不同折扣规则情况.单数一本书只会对应一个折扣规则,例如购买了两本卷1,一本卷2,则可以享受5%的折扣,另外一本卷一则不享受优惠. 二.解题思路: 通过对6本书.7本书.8本书.9本书的分析得到当本数为6.7.9时,最便宜的组合为5+1,5+

购买一批书的最低价格

题目: 书店针对<哈利波特>系列书籍进行促销活动,一共5卷,用编号0.1.2.3.4表示,单独一卷售价8元, 具体折扣如下所示: 本数                     折扣 2                        5% 3                       10% 4                       20% 5                       25% 根据购买的卷数以及本数,会对应不同折扣规则情况.单数一本书只会对应一个折扣规则,例如购买了两

读者购买一批书的最低价格

题目: 书店针对<哈利波特>系列书籍进行促销活动,一共5卷,用编号0.1.2.3.4表示,单独一卷售价8元, 具体折扣如下所示:                               本数                  折扣                                   2                       5%                                   3                       10%         

购买《哈利波特》书籍

我们完全可以在书的数量大于5时,直接除于5,得到余数,当数目可以变为x*5+2*4时,则购入X套与2套4本,这是极好的.... 1 #include <iostream> 2 using namespace std; 3 4 void main() 5 { 6 int x; 7 cout << "请输入要购买的本数:" << endl; 8 cin >> x; 9 10 int i; 11 i = x/5; 12 13 if (x <

课堂练习--计算购买一批书最低价格

1.设计思想 通过找规律发现,当购买数量大于5本时,有两种情况.第一种:如果数的最后一位的值为8,则这八本按两个四本来算,剩下的按五本一划分来算最低:第二种:数的最后一位的值不为8,则将数对五求余,求商,根据余数大小选择对应的价格,用商乘每5本对应的价钱最低. 2.代码实现 1 import java.util.Scanner; 2 import java.util.InputMismatchException; 3 public class Cheicp { 4 5 public static

算法-书的最低价格

一.实验题目: 书店针对<哈利波特>系列书籍进行促销活动,一共5卷,用编号0.1.2.3.4表示,单独一卷售价8元, 具体折扣如下所示:                               本数                  折扣                                   2                       5%                                   3                       10%