关于一些数值组合的问题(分金条和人民币面值)
来源:互联网 发布:网络女歌手依然的照片 编辑:程序博客网 时间:2024/04/28 18:12
关于一些数值组合的问题(分金条和人民币面值)
最近面试复习时无意中浏览到一道分金条的数学智力题,非常的有意思。题目是这样的:从前有一个大老板,他的宝贝儿子刚刚过了25岁,准备要和一位漂亮的女孩结婚。为了给儿子送上一份最好的结婚礼物,他决定修建一幢大房子送给儿子。于是他买好建筑材料,聘请了一帮工人来为他干活修房子,报酬为每天1个金币,一共要干上15天。可是现在问题来了,他必须每天付给工人们有且只有1个金币,而他现在手上只有一条总价值为15金币的金条,并且只能对这金条切割三次来发放报酬。例如,老板切完三刀后,该金条就变成4块了,第1块金条可以为4金币,第2块金条为4金币,第3块金条为6金币,第4块金条为1金币等等。如果每天没有按时给报酬的话,工人们就会甩手不干了。此时老板苦思冥想,却怎样都想不出很好的解决方法,他急得如同热锅上的蚂蚁一样。于是老板唯有广发群英帖,寻找天下间的能人异士来帮他解决这个问题。英雄曰:其实这道题要转换一下思路,不能只是专注于“一次分割达到目的”。我们应该要采用“数值组合”的方式来付工资,同时工人可以给老板找零。而这里的分割数量则决定了我们要在有限的分割单位数值中相互组合成所有可能出现的数值,这里的组合指的是相加相减后可得到其他的数值。
解题思路:
1、 因为每天必须要付1个金币,所以总的金币数应该是第1天为1个金币,第2天为2个金币……以此类推;同时我们假定工人身上只有老板给的钱,并且可以给老板找零。所以切割后的4块金条数值必须能够组合成1到15中的任意数字;
2、 对金条切三刀后,会分成四块金条,则每块金条的数字不能都是偶数,不然组合后不能成为奇数;
3、 分割最大的那块金条不能超过12金币,最小的那块金条不能小于1金币。
解题答案:
把金条切三刀后,分割成:第1块为1金币,第2块为2金币,第3块为4金币,第4块为8金币。数字序列为:1,2,4,8。那么接下来的事情就按照数字组合的方式来进行就可以了:
第1天:给第1块 -->(1金币)
第2天:从工人那里拿回第1块,给第2块 -->(2金币)
第3天:给第1块 -->(2+1=3金币)
第4天:拿回第1块和第2块,给第3块 -->(4金币)
第5天:给第1块 -->(4+1=5金币)
第6天:拿回第1块,给第2块 -->(4+2=6金币)
第7天:给第1块金条 -->(4+2+1=7金币)
第8天:拿回第1块、第2块和第3块,给第4块 -->(8金币)
第9天:给第1块 -->(8+1=9金币)
第10天:拿回第1块,给第2块金条 -->(8+2=10金币)
第11天:给第1块 -->(8+2+1=11金币)
第12天:拿回第1块和第2块,给第3块金条 -->(8+4=12金币)
第13天:给第1块金条 -->(8+4+1=13金币)
第14天:拿回第1块,给第2块金条(2金币) -->(8+4+2=14金币)
第15天:给第1块金条(2金币) -->(8+4+2+1=15金币)
这样,就能够解决每天给1个金币的问题了。
对于这道数值组合题,我联想到了一个比较类似的题目,那就是人民币面值。
【人民币面值】
大家在购物的时候都懂得要花钱吧,那白花花的人民币总是吸引着我们的目光。但是大家有没发现这样一个规律:现今使用的所有人民币的面值中只有1角,2角和5角;1元,2元和5元;10元,20元和50元;100元。
为什么不采用3角,4角,5角,7角,8角,9角这样的面值呢?
其实原因也是很简单的:
1、 货币版面设计、印刷和纸币面积大小等都需要人力去进行设计规划的,如果只采用1,2,5,10的面值,可以省下3,4,6,7,8,9面值的人力设计的成本、纸币本身的成本和机器印刷纸币时的复杂度,同时方便金融部门对货币进行监管和调控;
2、 简化货币流通中结算的复杂度。你看,我们只需使用1,2,5,10面值就可以组成1到10的所有数值了,而1,2,5,10面值是非常适合计算的(其实这里会涉及到一些心理学)。我们可以采用分金条时的计算方法:
1 = 1(1可以组成所有的数值)
2 = 2
3 = 2 + 1
4 = 2 + 2 或 2 + 1 + 1
5 = 5 或 2 + 2 + 1
6 = 5 + 1 或 2 + 2 + 2
7 = 5 + 2
8 = 5 + 2 + 1
9 = 5 + 2 + 2
10 = 10
看到了吧,这样计算不就是能加快我们心算速度吗?不就是更符合我们平常人心算时的规律吗?1,2,5,10,老少皆宜啊。(只不过最近又发现了2变得越来越少用了,果然是最简原则啊!)
知识改变命运,机会总是垂青于有准备的人。努力吧,蛋炒饭~!
0 0
- 关于一些数值组合的问题(分金条和人民币面值)
- Google code jam 2012 番外篇:巨款的人民币面值组合
- 智力题(农民分金条问题)
- 分金条问题
- 农民分金条问题
- 分苹果问题和RMB面值问题
- 硬币面值组合问题
- 程序员面试金典(动态规划):1分,5分,10分,25分硬币面值组合问题(解题思路)
- 分金条
- 经典智力题:工人分金条问题
- 经典智力题:工人分金条问题
- 【面试题】:工人分金条问题
- 有10元,5元,2元,1元四种面值的人民币,问组成100元钱有多少种组合?
- 硬币的面值组合个数
- 人民币组合问题
- 硬币面值组合(上台阶)
- 金条问题
- 今天遇到的3到智力面试题(给工人分金条,小鸟来回在2火车之间飞行的距离,精确称水问题)
- 【git 问题小说说】 git add时候报错:LF will be replaced by CRLF
- SPI时序详解
- struts2文件类型
- Linux下利用Valgrind工具进行内存泄露检测和性能分析
- 51单片机复习001
- 关于一些数值组合的问题(分金条和人民币面值)
- HDU 3033 分组背包
- Lua学习教程之 spilt函数的实现
- TWaver HTML5学习笔记 —— 动态设置网元图片大小
- 纯css实现的下拉导航栏
- Python 正则表达式笔记
- 深入理解JavaScript系列(26):设计模式之构造函数模式
- 深入理解JavaScript系列(27):设计模式之建造者模式
- POJ 2096 collecting bugs