算法工程师面试智力题:分金条,发工资

题目:你让一个工人为你工作15天,回报是一根金条。但是你必须在每天结束的时候给他一根金条的十五分之一段。如果只允许你三次把金条弄断,你如何给这个工人付工资?(可以和工人进行金条的段的交换)**

思路(参考[1]):先将金条经过三次分段分为 115 段、 215 段、 415 段和 815 段。这是因为1、2、4和8中的一个数或几个数的和可以构成1到15之间的任何数。对于其它的分段要求,比如7段,也可以按照此思路来解答。

解答:

工作日期工人自己
第0天0段 115 段、 215 段、 415 段和 815
第1天 115 215 段、 415 段和 815
第2天 215 115 段、 415 段和 815
第3天 115 段、 215 415 段和 815
第4天 415 115 段、 215 段和 815
第5天 115 段、 415 215 段和 815
第6天 215 段、 415 115 段和 815
第7天 115 段、 215 段、 415 815
第8天 815 115 段、 215 段、 415
第9天 115 段、 815 215 段、 415
第10天 215 段和 815 115 段、 415
第11天 115 段、 215 段和 815 415
第12天 415 段和 815 115 段、 215
第13天 115 段、 415 段和 815 215
第14天 215 段、 415 段和 815 115
第15天 115 段、 215 段、 415 段和 815 0段

参考资料:
[1]. https://blog.csdn.net/baihui212/article/details/5719743

点赞