• 买200元送100元,打几折?


       我们经常看到商场打折,电商打折,买200送100元代金券,代金券只能下次用。如果我一定要算出打几折,应该怎么算?

       很多人第一反应是5折,因为花200元买了200元的商品,有返还100元,就相当于花了100元买了200元的商品。还有很多人第一反应是67折,因为如果下次再买100元的商品用代金券就可以了,就相当于是花200元买了300元的商品,当然是打67折。

       但是上面说的仅仅是很多情况中的两种。注意,代金券需要购买商品才能体现价值,如果某人拿了代金券而不再购买或者在代金券有效期内没有购买,代金券的价值就没有体现出来,也就相当于没有打折了。把所有可能情况都考虑进来,不仅是写代码的基本要求,也是做工程,做财会,做投资,做教育,做管理等等大部分行业的要求。对于此计算打折问题,我们需要考虑的因素包括本次购买花了多少元,下次购买花了多少元。

       我的思路是这样的:(如有错误,欢迎拍砖)

       假设本次购买x元,第二次购买y元。

       若x<200,则不打折;

       若x>=200,则需按第二次购买的数额来确定打折数。

             若y<=100,这其中就包括了y=0的情况,即使用100元代金券购买了小于等于100元的商品,此时折扣为x/(x+y)。

             若y>100,即使用代金券抵了100元,此时折扣为(x+y-100)/(x+y)。

       当然还有可能第二次购买是还在继续进行买200送100优惠活动,折扣这样算还没完。

       这道题是我的一个面试题,写这篇短文这是为了记录自己曾经考虑问题不周,以告诫自己做事做人要严谨细致。

       

  • 相关阅读:
    JSP基础
    线程控制
    多线程简述
    Servlet生命周期
    同步代码块和同步方法有什么区别?
    java.sql.Date和java.util.Date的区别
    Java自学指南五、编码工具
    基本类型和包装类的区别?
    什么是包装类?为什么要有包装类?基本类型与包装类如何转换?
    什么是Java的垃圾回收机制?
  • 原文地址:https://www.cnblogs.com/zhutianpeng/p/3458210.html
Copyright © 2020-2023  润新知