求最低价格

#include <iostream>
using namespace std;
#define PRICE 8
double discount[5]={0,0.05,0.1,0.2,0.25};

double Caculate(int num1,int num2)        //计算该情况的价钱
{
    double money,money1,money2;
    money1=(PRICE-PRICE*discount[num1-1])*num1;
    money2=(PRICE-PRICE*discount[num2-1])*num2;
    money=money1+money2;
    return money;
}
double Discount(int num)            //分情况讨论价钱
{
    int k,yushu;
    double money1,money2,min;
    k=num/5;                    //取整
    yushu=num%5;                //取余
    min=num*PRICE;
    switch(k)
    {
        case 0:
            money1=(PRICE-PRICE*discount[num-1])*num;
            break;
        default:
            if(yushu==0)
            {
                money1=(PRICE-PRICE*discount[4])*num;
                return money1;
            }
            for(int i=1;i<(yushu+5);i++)
            {
                money1=Caculate(i,(yushu+5)-i);
                if(money1<min)
                    min=money1;
            }
            if(num>9)
                money2=(k-1)*5*(PRICE-PRICE*discount[4]);
            else
                money2=0;
            return min+money2;
    }
    return money1;
}
int main(int argc, char* argv[])
{
    int booknum;
    double money;
    cout<<"请输入购买书籍的数量:";
    cin>>booknum;
    money=Discount(booknum);
    cout<<"最优惠的价格是"<<money<<"元"<<endl;
    return 0;
}

时间: 2024-11-05 21:55:58

求最低价格的相关文章

最低价格

题目概要:<哈利波特>系列书籍共5部,单买每本8元,2本一套买(各不相同为一套,下同),享5%的优惠,以此类推,3本10%,4本20%,5本25%. 要求:输入要买的书籍,求出最优购买策略,并求出最低价格. #include<iostream> using namespace std; void main() { double a,b; int n; cout<<"请输入要购买书籍的总数:"<<endl; cin>>n; a=

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

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%       

购买一批书的最低价格

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

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

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

求购买一批打折书的最低价格

设计思想: 前五本书的最低价已经计算出,每增加一本书,所花的钱就会增加 8  7.2   6  4.4或 4.4 元 如此循环下去 源代码: import java.util.Scanner; public class minMoney { public static void main(String args[]){ int booknumber=0; double money=0; Scanner in=new Scanner(System.in); System.out.print("你要

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

一.题目:      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+