成套卖书最大优惠问题

一、设计思路:

当买的书低于5本时,一本折扣为0,两本为5%,三本为10%,四本为20%,五

本为25%;

当买的书为6本时,6=5+1即5本成套购买,1本单独购买为最低价格。

当买的书为7本时,7=5+2即5本成套购买,2本成套购买为最低价格。

当买的书为8本时,8=5+3即5本成套购买,3本成套购买,折扣为35%,

而8=4+4即4本成套购买,4本成套购买折扣为40%,为最低价格。

当买的书为9本时,9=5+4即5本成套购买,4本成套购买为最低价格。

当买的书为10本时,10=5+5为最低价格。

当买的书为11本时,11=5+5+1为最低价格。

当买的书为12本时,12=5+5+2为最低价格。

以此类推。

即当大于10本时,最大限度按5套购买,其余剩余按最大的购买为最低价格。

二、代码

package 买书折扣;

import java.util.Scanner;

public class buy {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub

        Scanner A=new Scanner(System.in);
        double i=0;
        int k;

        System.out.println("请输入所购书本数:");
        int n=A.nextInt();
        System.out.println("请输入所购书单价:");
        int m=A.nextInt();
        k=n%5;

        if(k==0)
        {
            i=m*(n/5)*0.25;
        }
        if(k==1)
        {
            i=m*(n/5*0.25);
        }
        if(k==2)
        {
            i=m*(0.05+n/5*0.25);
        }
        if(k==3)
        {
            if(n==8)
            {
                i=m*(n/4*0.2);
            }
            else
            {
                i=m*(0.1+n/5*0.25);
            }
        }
        if(k==4)
        {
            i=m*(0.2+n/5*0.25);
        }

        System.out.println("购买"+n+"本书可省价格为:");
        System.out.print(i);
    }

}

三、结果

四、总结与收获

因为考虑最大优惠问题,所以多本购买就考虑组合最大的优惠,当然少于五本时并无争议,当大于五本时,五本成套购买为最大优惠,其余的剩余成套购买是另一种优惠,但在八本时出现特殊情况:8=5+3即5本成套购买,3本成套购买,折扣为35%,而8=4+4即4本成套购买,4本成套购买折扣为40%,所以分为4/4购买更加优惠,在之后大于十的情况便是五的倍数,依次累计即可。

在分析问题时要考虑全面,找到规律。

时间: 2024-10-13 09:36:58

成套卖书最大优惠问题的相关文章

组队开发----卖书问题

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

Apache Bigtop再论与卖书求生存

快一年没写博客了,终于回来了,最近因公司业务需要,要基于cdh发行版打包自定义patch的rpm,于是又搞起了bigtop,就是那个hadoop编译打包rpm和deb的工具,由于国内基本没有相关的资料和文档,所以觉得有必要把阅读bigtop源码和修改的思路分享一下. 我记得很早以前,bigtop在1.0.0以前版本吧,是用make进行打包的,其实这个0.9.0以前的版本,搁我觉得就不应该出现在apache正式仓库里,就应该放在incubator里面,但是估计由于是cdh主导开发的,而Doug C

课堂练习(卖书问题)

设计思想: 通过简单的枚举计算,发现只有在   买书数=3+5*n(n>0)时才会有特殊情况产生,其他情况均一致,所以就利用switch语句对 买书数除5的余数进行判断,进行不同的分类计算,其中当余数为3时进行买书数是否大于5的判断,进行计算: 程序代码: package text; import java.util.Scanner; public class Halibote { public static double money(int m0,int m1){ double money=0

noip模拟赛 卖书

分析:模拟题,只是有几个地方需要注意一下:第一个人必须支付5元,找零15元可以找一张10元一张5元,也可以找3张5元. #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> int n, t, a[4]; int main() { scanf("%d", &n); for (int i = 1; i <= n; i++) {

张书乐:当当网沦落 夫妻档还能好好开店吗?

"当当整整17年了,17年我头发都白了就干这么一件事."当当CEO李国庆的一句感慨,道出了一个电商人想从垂直化的"档"变成平台"店"的上下求索. 文/张书乐 刊载于<互联网经济>2017年1.2月合刊 1999年,俞渝和李国庆夫妻共同创立了当当,卖书为生:2010年,当当赴美国纽交所上市,成为国内第一家在美上市的B2C电商公司,稳居国内电商3强,彼时的当当,正在从图书垂直电商,变为综合电商平台,至少表面上:2016年9月,当当宣布完成

买书实验

实验题目: . 设计思路: 这次的实验是目前做过最简单的,重点在于把特殊情况找出来,一开始简单的以为只要和五本组合就可以了,除五取余取整就可以了,后来经过课堂上的计算才知道重点在8,所以除10取余取整就可以了. 实验代码: #include<iostream> using namespace std; int main() { int num; cout<<"请输入购买书的数量:"; cin>>num; double money=0.0; doubl

书乐说:京东比亚马逊,究竟输在哪里?

以牺牲利润为代价的疯狂争取市场份额的亚马逊战略模式,在亚马逊身上已经获得了赢利的回报,而在以亚马逊为对标的京东身上似乎依然遥遥无期. 文/张书乐 刊载于<销售与市场>管理版2016年7月刊 4月29日,亚马逊公布了2016年第一季度财报.财报显示,其第一季度营收为291亿美元,同比增长28%:最引人注目的是,亚马逊实现了5.13亿美元的净利润,这已是连续四季度赢利,而去年同期则亏损5700万美元. 不久之后的5月9日,被认为是"中国亚马逊"的京东也发布了第一季度财报.据其显

互联网运营17本书,新增烂书《私域流量》,好书1本半

整理了最近几年看过的互联网运营相关的书,共17本.按书评发布时间倒排序,这基本也是按这些书的出版时间倒排序. 最新的<私域流量>是一本烂书,我评2星. 西贝莜面村的运营是微商负责的?2星<私域流量> 实际内容是一些微商运营入门技巧,和许多微商励志故事. 所谓的私域流量,主要指微信朋友圈获取的流量. 作者主要的运营技巧就是请顾客扫码加微信,通过微信来营销. 讲了许多不知真假的做微商非常成功的励志故事.比如提到东青莜面村,看内容是指西贝莜面村,说西贝的老板请作者给营销建议,作者建议让员

微信公开课(北京站)速记 微信、微信支付、O2O的定义与关联

本文为4月29日微信公开课(北京站)微信产品部演讲全文速记,讲述了微信官方对微信.微信支付.O2O的定义与关联等问题的看法与观点. 作者:微信产品部 刘涵涛 吴毅 去年夏天有一个全民打飞机的盛况,这实际上是微信的第一款社交类手游,它通过微信大平台的海量用户,一上线之后就有过亿的用户,甚至在淘宝上面都有代客打游戏的服务,通过这个游戏大家突然想到,微信以前是一个沟通工具,微信竟然也可以玩儿,甚至出现了这样一个段子,如果要自己的排行榜排在前面,最简单的方法是把玩这个游戏的好朋友全部踢掉. 微信红包大家