【面试题】:工人分金条问题

来源:互联网 发布:衣柜在线设计软件 编辑:程序博客网 时间:2024/05/16 01:41

问题:
你让一些人为你工作了七天,你要用一根金条作为报酬。金条被分成七小块,每天给出一 块。 如果你只能将金条切割两次,你怎样分给这些工人?

解题:
思路是每天要给工人发一块金条,那么这个作用就是通过一个转换使的工人每天都能拿到金条,这样可以通过转换的方式来做到这个作用

切两刀分为1 2 4这三块,这样就能达到要求

第一天,给1块,第二天,把价值为2的给工人,找回1块的,类似这个思路,七天都能完成支付的钱币数

不得不说这个思路非常之巧,值得我们思考~
这个题有一种更加巧妙的推导:
那就是付账的时候,一定是按照这个规律切分钱币的
1 2 4 8… 这个等比数列

大致简单的证明如下:
第一天给1块
第二天要么再给1块,要么就拿一张2块的钱去找,如果用1块的钱会耗费切割数,使的切割的次数增加,所以这时候就用2块的
第三天:可以用之前切割的解决
第四天,缺钱了,同理如上,最简单的是就是用一张4块的解决,这时候能够解决的能够到7了
第五天:解决了
第六天:解决了
第七天:解决了
第八天:用一张8块的钱去支付
….

都是如类似的推导
这里面藏着一个数学原理,那就是通过初始值为1,公比为2的等比数列,能够完成区间内所有值得组合

好吧,推导就到这里了,希望大家能够喜欢~喜欢的点个赞呗 - -

0 0