zoukankan      html  css  js  c++  java
  • 成套卖书最大优惠问题

    一、设计思路:

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

          本为25%

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

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

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

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

          当买的书为9本时,9=5+45本成套购买,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购买更加优惠,在之后大于十的情况便是五的倍数,依次累计即可。

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

  • 相关阅读:
    查看电脑保存的wifi密码
    数据仓库
    nodejs 中国汉字模糊查询简单(很low)实现
    nodejs express 框架 上传文件
    async样例
    mongodb Map/reduce测试代码
    未释放资源的教训,开发MongoDB连接一定要关闭连接
    采集系统优化:大家接手过的最烂的项目,最坑爹的项目是哪个?
    Android的HttpClient调用,冲突的解决办法
    MongoDBcrud操作,采集部分代码
  • 原文地址:https://www.cnblogs.com/luffyyang/p/4550369.html
Copyright © 2011-2022 走看看