e.J*_*mes 5 algorithm payment logic
你走进商店,选择几种产品,然后到柜台付账单.总数是一些金额(A).你进入你的钱包,钱包或口袋,放下一些现金(P),其中P> = A,收银员给你改变.
鉴于流通的硬币和账单的集合,最有可能的价值是P什么?
一些例子,假设可用的账单是5美元,10美元,20美元,50美元和100美元,可用的硬币是5c,10c和25c:
A= $ 151.24 P[1]= $ 160(8x $ 20)或($ 100 + 3x $ 20)P[2]= $ 155($ 100 + $ 50 + $ 5)
A= $ 22.65 P[1]= $ 25($ 20 + $ 5)P[2]= $ 30($ 20 + $ 10)P[3]= $ 40($ 20 + $ 20)
A= $ 0.95 P[1]= $ 1(4 x 25c)P[2]= $ 5
其中许多数字看似直观,但我觉得这个算法难以确定.
还有其他因素,您不太可能支付 6 x 0.25,您会使用 1 x 1.00 和 2 x 0.25 代替。一般来说,0.25 不超过 3,0.10 不超过 2,0.05 不超过 1。
同样在现实世界中,许多人从不关心低于 1.00 的价值,他们总是用账单付款并“保留零钱”。
同样的情况也适用于 5.00、10.00 和 20.00,对于购买超过几美元的商品,人们会使用 5.00 或 10.00。当然,由于 ATM 机的存在,20 点是流通中最常见的。
这个软件是做什么用的?您实际上是在尝试对实际购买进行建模并需要准确的结果,还是不需要严格的简单模拟?