买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优惠活动,折扣这样算还没完。

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

   

posted @ 2013-12-04 19:02  山楂条子  阅读(16358)  评论(0编辑  收藏  举报