-4

如何将 1000 美元分配到十个盒子中,以便将 1 美元到 1000 美元(含)之间的任何金额作为这些盒子的一些组合给出。

请提供有关如何解决此问题的任何提示。我尝试过但无法做出任何解决方案。

4

2 回答 2

3

你做过二进制到十进制的转换吗?取 1 到 1000 之间的任何数字并尝试将其转换为二进制。你会发现你正在处理 2 的幂。

以 2 的幂分布,然后按您需要的任何数量,只需将其转换为二进制并选择那些位设置为 1 的框。

于 2013-07-05T05:19:53.590 回答
2

以二为底的表示形式写出从 1 到 1000 的所有数字。这些数字需要 10 位,因为2^10 = 1024. 你的盒子是 2 的幂2^8489对于最后一个盒子(2^0to2^8和给489你十个盒子和2^0 + 2^1 + ... + 2^8 + 489 = 2^9 - 1 + 489 = 511 + 489 = 1000到 511 是可以的,对于大于 511 的任何东西,减去 489,然后注意您可以将余数写为其他 8 个框的组合,因为它保证小于或等于 511)。

于 2013-07-05T05:16:03.680 回答