刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

单选题

有一个天平,你希望设计一些不同的砝码。要使天平能一次称出 1~40 的任意整数重量(单位:克),最少需要设计几个砝码?(   )

注意:砝码可以放在天平两侧,如重量为 1 克和 3 克的两个砝码,既可以称出重量 4 克,也可以称出重量 2 克。

A

3

B

4

C

5

D

6

使用微信搜索喵呜刷题,轻松应对考试!

答案:

C

解析:

【喵呜刷题小喵解析】本题考察的是组合数学中的完全背包问题。我们可以将问题转化为:有n个物品,每个物品有无限个,背包的容量为40,问最多能装多少物品。

对于这个问题,我们可以使用动态规划来解决。设dp[i]表示容量为i的背包最多能装多少物品,则有状态转移方程:dp[i] = max(dp[i], dp[i-j] + 1),其中j为物品的重量,且j<=i。

对于本题,我们可以将砝码的重量看作是物品的重量,那么问题就转化为:最少需要设计几个砝码,使得能一次称出1~40的任意整数重量。

我们可以从最大的重量40开始,逐步减小重量,直到1。对于每个重量,我们都可以使用之前的砝码组合得到。例如,对于重量40,我们只需要一个重量为40的砝码即可;对于重量39,我们可以使用一个重量为1的砝码和一个重量为38的砝码,也可以使用两个重量为19的砝码,还可以使用一个重量为2的砝码和一个重量为37的砝码,以此类推。

经过计算,我们可以得到最少需要设计5个砝码:1克、3克、9克、27克和40克。这5个砝码可以组合得到1~40的任意整数重量。

因此,最少需要设计5个砝码。
创作类型:
原创

本文链接:有一个天平,你希望设计一些不同的砝码。要使天平能一次称出 1~40 的任意整数重量(单位:克),最少

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share