首页
Web开发
Windows程序
编程语言
数据库
移动开发
系统相关
微信
其他好文
会员
首页
>
其他好文
> 详细
从找零到人民币面额设计
时间:
2015-04-17 09:45:01
阅读:
101
评论:
0
收藏:
0
[点我收藏+]
标签:
引子
晚上坐飞机从北京回成都,在机场候机花了23元买了一袋麻辣牛肉干。身上没零钱,就拿了一张100给售货员找零77。突然觉得这件事情太好玩儿了。中国发行的货币有100、50、20、10、5、1这几种面额的纸币。为什么我们的面额要这样设计呢?不这样设计会怎样?假设这几种面额的设计是合理的,那么这些纸币要按照什么样的比例进行发行才能保证我们生活中给100找73的这个看似很简单的事情能够正常进行呢?地球太神奇了。
面额为什么这样设计?
面额的设计会影响我们什么?面额设计的目的目标又是什么?如果我任意设计面额1,4,5,8,9这样。看似不合理,但是它会有什么不好的地方吗?我们不想清楚这个问题,我们就不知道怎么样的面额设计才是合理的,更不知道设计面额的时候需要考虑的是什么。
如果我们只发行100元的纸币。这意味着货币面额的本身就不能支持价值100元一下的商品的交易,这说明面额设计需要考虑【可用性】。
如果仅仅考虑可用性,我们可以只发行1元的纸币。理论上,我们可以用N个1元购买任意金额的商品。但是,如果想要买99元的东西,就开始悲剧了。这说明面额设计需要考虑【便捷性】。
如果我们认为便捷性唯一的考量因素是我们支付时需要支付的纸币的张数。那么,为什么我们不每个面额的纸币都发行一张呢?比如,我们有1、2、3、4、5、6、7、8、9、10、11、12、13、14...97、98、99元,这样任意100以内的金额,我们只需要一张纸币就足够了。我在机场只需要给售货员一张23的纸币就ok了。
问题在于,我怎么知道我到了机场我就想买那袋23元的麻辣牛肉干。而不是旁边的30的五香牛肉干?如果我提前不知道,或者很难预测,那我为了达到只需要支付一张纸币的”便捷性“,我就要准备1~99面额的纸币各一张,就身上随时要携带4950元,一共99张纸币,我们还能说这是便捷的吗?
所以,我们在设计纸币面额的时候不仅仅需要考虑到可用性和最直观的便捷性这些发生在交易一瞬间的特性,也要考虑到”现金交易的时间、金额的【不确定性】。正是因为这个不确定性,又会反过来影响我们的【便捷性】,所以,我们设计编辑的面额,不仅仅是支付一个特定金额的便捷,而是支付任意金额的便捷。
再想,如果用1,4,5,8,9这样的方式进行设计,会有什么问题吗?假设我们1~9出现的概率相同,那么可以得到这样一个最“便捷”的表
1: 1张1元
2: 2张1元
3: 3张1元
4: 1张4元
5: 1张5元
6: 1张5元 + 1张1元
7: 1张5元 + 2张1元
8: 1张8元
9: 1张9元
统计:1元纸币出现的概率为:5/9,5元纸币出现的概率为:3/9,4\8\9出现的概率都是:1/9,这说明,我们这样的设计本身就不是对称的。4\8\9这样的面额设计出来被人使用的概率就很小,我们就不要提供这样的面额。【使用率】。
如果按照1,2,5这样的方式进行设计:
1: 1张1元
2: 1张2元
3: 1张1元 + 1张2元
4: 2张2元
5: 1张5元
6: 1张5元 + 1张1元
7: 1张5元 + 2张1元
8: 1张5元 + 1张2元 + 1张1元
9: 1张5元 + 2张2元
统计:1张纸币出现的概率为:5/9,2元纸币出现的概率为:6/9,5元纸币出现的概率为:5/9。几乎一摸一样。
我们在上面的讨论中没有涉及到找零。原因很简单,比如,我买了23元的牛肉干,我给的是100。其实问题就变成了售货员如何给我77。所以问题是不变的,都是如何用最少的纸币构造出特定的金额,问题的核心并不是由谁来构造,如果我刚好身上有一堆零钱,就该我掰手指点钱了。于是,我们设计的重点就可以简化成,如何【便捷】的构造金额。
上面的例子纯属虚构,我们人民币并没有2元的面额。那问题就来了,我们的人民币的面额设计为什么这么没有对称的美感呢?为什么我们有20元的面额,却没有2元的面额?是很随意的决定?【50、20、10】,【5,2,1】不更加有美感吗?如果我们没有2元的面额,这意味着什么?1元面额的增多?是不是因为我们有1元的硬币呢?那为什么又要有硬币呢?有了纸币,硬币存在的必要性又是什么?
按照什么比例发行纸币?
如果按照现在人民币的面额1,5,10,20,50来进行设计,我们需要各种纸币需要按照什么样的比例来发行呢?
在回答了面额要如何设计以后,这个问题现在变得容易了,我们假设1~99出现的概率一致。那我们只要把每个金额的最简方式列出来,再统计比例就行了。不想算了(算是计算的算)。
从找零到人民币面额设计
标签:
原文地址:http://blog.csdn.net/kiwi_coder/article/details/45091773
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年07月29日 (22)
2021年07月28日 (40)
2021年07月27日 (32)
2021年07月26日 (79)
2021年07月23日 (29)
2021年07月22日 (30)
2021年07月21日 (42)
2021年07月20日 (16)
2021年07月19日 (90)
2021年07月16日 (35)
周排行
更多
分布式事务
2021-07-29
OpenStack云平台命令行登录账户
2021-07-29
getLastRowNum()与getLastCellNum()/getPhysicalNumberOfRows()与getPhysicalNumberOfCells()
2021-07-29
【K8s概念】CSI 卷克隆
2021-07-29
vue3.0使用ant-design-vue进行按需加载原来这么简单
2021-07-29
stack栈
2021-07-29
抽奖动画 - 大转盘抽奖
2021-07-29
PPT写作技巧
2021-07-29
003-核心技术-IO模型-NIO-基于NIO群聊示例
2021-07-29
Bootstrap组件2
2021-07-29
友情链接
兰亭集智
国之画
百度统计
站长统计
阿里云
chrome插件
新版天听网
关于我们
-
联系我们
-
留言反馈
© 2014
mamicode.com
版权所有 联系我们:gaon5@hotmail.com
迷上了代码!