如何将钱压缩到最少的面额?

时间:2018-12-05 10:38:34

标签: arrays math language-agnostic grouping

可能有一个术语,但是我不知道,所以搜索并不容易。

我在阵列中有一定数量的插槽。该数字并不重要,但是是固定的。最后,我希望结果采用尽可能少的面额和最大面额的插槽。槽数少的优先于高面额的钞票。

我将以金钱为例。我在阵列中有10个插槽。每个插槽可以容纳任何面额。我可以使用100x $ 5、100x $ 1、40x 25¢,50x 10¢,40x 5¢和50x 1¢。

如果我有$ 2,那么我可以在1个插槽中将其作为2x $ 1进行优化。不过,这是一个不错的数字。如果我有21.13美元,那么计算起来就不那么容易了。 我可以堆叠到最高面额:

slot[0] = 4x $5;
slot[1] = 1x $1;
slot[2] = 1x 10¢;
slot[4] = 3x 1¢;

但是我想要的是这个,因为它占用了阵列中更少的插槽:

slot[0] = 21x $1;
slot[1] = 13x 1¢;

0 个答案:

没有答案