假币找零赚赔逻辑问题【数学建模】

假币找零赚赔逻辑问题【数学建模】

假币找零问题模型

问题描述

这类问题可以用统一的变量模型来解决,无论题目中的数字怎么变,都适用。

问题流程如下:

  1. 老板有意见成本(进价)为C CC商品,售价为P PP(通常P > 0 P > 0P>0);
  2. 一位顾客前来购买商品,支付了面额为F FF的货币,且F ≥ P F \ge PFP(这样才需要找零);
  3. 老板没有零钱,用这张面额为F FF的货币向邻居换了总面额同样为F FF的货币;
  4. 老板找零后,顾客拿走商品离开;
  5. 此后,邻居发现老板交换的货币是假币,要求老板赔偿,老板又赔偿了价值为F FF的货币。

问老板最终亏损多少。

问题求解

题目中常出现“向邻居换零钱,之后又赔给邻居”的情节。邻居先给老板F FF元真零钱,最后老板又赔给邻居F FF元真钱,邻居不亏不赚。这个环节对整个交易的净影响为0 00

因此,可以直接去掉邻居,把过程简化为:

老板自己本来就有足够的零钱。他收下顾客的假币(价值为0 00),然后自己找出F − P F - PFP元真钱给顾客,并把商品给了顾客。

简化后,从老板的角度看,他付出了两样东西:

  • 一件商品,其真实成本为C CC
  • 找零给顾客的现金F − P F - PFP

这两样东西都被顾客用一张价值为0 00的假钱换走了,所以老板的实际经济损失就是两者之和。即

Loss = C + ( F − P ) = C + F − P \boxed{\text{Loss} = C + (F - P) = C + F - P}Loss=C+(FP)=C+FP

特殊情况

  • P = C P = CP=C(成本等于售价),则亏损= C + F − C = F = C + F - C = F=C+FC=F,正好是假币面额。
  • F = P F = PF=P(不用找零),则亏损= C + 0 = C = C + 0 = C=C+0=C,损失就是白送一件商品。

图解法

用流量图表现如下:

邻居老板顾客邻居老板顾客邻居发现假币,要求赔偿假币 F (价值为0)假币 F (换零钱)真钱 F (零钱)商品 (成本 C)找零真钱 F-P赔偿真钱 F

去除价值为0 00的假钱流量,并抵消相同的输入输出流量后,可得

老板顾客老板顾客假币 F (价值为0)商品 (成本 C)找零真钱 F-P

这和简化场景是相同的。

易错点

  • 重复计算赔邻居的F FF:有人会列C + ( F − P ) + F C + (F-P) + FC+(FP)+F,然后得到C + 2 F − P C + 2F - PC+2FP,这就把邻居的过桥资金当成了额外损失。实际上,赔邻居的F FF中有P PP元是邻居之前给的找零剩下的,老板只自掏腰包补了F − P F-PFP元,这个数刚好等于给顾客的找零。
  • 用售价P PP代替成本C CC(把没赚到的利润当成损失):商品的实际损失是C CC,不是P PP,必须用成本。除非题目问的是“比正常交易多亏多少”,否则标准问题只算实际资产损失,此时商品的实际损失为P PP

问题扩展

两个陌生人(顾客A和顾客B)都去老板家买衣服,衣服成本18元,标价21元,顾客A掏了100元假币买,老板找不开,拿着这100元假币问顾客B换开钱(换121元零钱的同时卖出商品),顾客A的拿着衣服和找回的79元(均为真钱)走了。然后顾客B也拿着衣服和老板给的100元假钱走了,老板后来发现顾客B给的钱里有50元假钱,顾客A也发现自己手里的100元是假币,请问三人各赚多少,各亏多少?

问题来自赔赚 假币 智力题_51CTO博客_100元假钱的智力题,但原题找零逻辑存在些许问题,这里做了修改。

按流量图解法绘制图形:

顾客B老板顾客A顾客B老板顾客A发现假币假币 100 (价值为0)假币 100 (换零钱)真钱 50 + 21 (零钱)假钱 50商品 19真钱 29真钱 50商品 19

删除假币流量

顾客B老板顾客A顾客B老板顾客A发现假币真钱 50 + 21 (零钱)商品 19真钱 29真钱 50商品 19

可以轻松看出(+ ++表示亏钱,− -表示赚钱)
{ Loss A = − 98 Loss BOSS = + 46 Loss B = + 52 \begin{cases} \text{Loss}_\text{A} &= -98\\ \text{Loss}_\text{BOSS} &= +46\\ \text{Loss}_\text{B} &= +52 \end{cases}LossALossBOSSLossB=98=+46=+52