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购买更加优惠,在之后大于十的情况便是五的倍数,依次累计即可。

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

  • 相关阅读:
    BEM(Block–Element-Modifier)
    http://element.eleme.io/#/zh-CN/component/quickstart
    Commit message 的写法规范。本文介绍Angular 规范(
    好的commit应该长啥样 https://github.com/torvalds/linux/pull/17#issuecomment-5654674
    代码管理
    if you have content fetched asynchronously on pages where SEO is important, SSR might be necessary
    Martin Fowler’s Active Record design pattern.
    The Zen of Python
    Introspection in Python How to spy on your Python objects Guide to Python introspection
    Object-Oriented Metrics: LCOM 内聚性的度量
  • 原文地址:https://www.cnblogs.com/luffyyang/p/4550369.html
Copyright © 2011-2022 走看看