首页 > 代码库 > 大众点评测试开发第二大题

大众点评测试开发第二大题

贝壳国的居民喜欢用贝壳作为硬币,与我们的硬币不同,这种贝壳硬币有两个特点:

 贝壳硬币上面没有标明面值,而是通过不同颜色来区分不同面值的硬币;

 将硬币面值从小到大排序以后,后面硬币的面值总是前面硬币的面值的倍数,如1,2,10

为了帮助来到当地旅游的游客快速了解每种颜色的贝壳对应的面值,当地居民设计了一种自动取款机,该机器会根据输入的金额,返回相应面值的硬币,当输入的金额有多种组合的时候,该取款机会挑选一种硬币数量最小的组合。

比如,硬币面值有1,2,4,12四种的时候,如果取款金额为4,取款机可选组合有:

       4个面值为1的硬币

       2个面值为2的硬币

       2个面值为1的硬币和1个面值为2的硬币

       1个面值为4的硬币

此时,取款机会选择最后一种组合,因为需要的硬币数量最少。

作为一个聪明的游客,你能否在硬币面值已知,并且在只有一次机会的情况下提供一个取款金额,然后根据取款机吐出的不通颜色硬币的数量,找到每种颜色的硬币所对应的面值?



我的答案是46。吐出同种颜色硬币数量为3的硬币的面值为12,吐出同种颜色硬币数量为2的硬币的面值为4,吐出同种颜色硬币数量为1的硬币的面值为2,剩下一种没有吐出的颜色的硬币面值为1大笑大笑大笑不知对否。。。。

大众点评测试开发第二大题