漫画:有趣的“分苹果”问题

2022-06-07 17:35:38 浏览数 (1)

————— 第二天 —————

完整题目如下:

我们有1000个苹果,要用10个箱子来进行分装,每个箱子所装的苹果数量不限。

但是这里有一个特殊的要求:当我们想要任意数量(从1到1000)苹果的时候,只需要给出几个整箱就行了。

比如,我们想要123个苹果。那么给出第1个、第3个、第5个箱子,里面的苹果数量加起来刚好是123。

如何在这10个箱子里分配苹果,才能满足以上的要求呢?

————————————

(小灰把面试官的问题一五一十地告诉了大黄)

很明显,每个箱子都具有两种状态,“不使用”和“使用”,这就好像是二进制当中的0和1。而前三个箱子的苹果数量分别是1、2、4,这正好对应了二进制前三位的大小:

题目中一共有10个箱子,那我们就可以用这些箱子表示10位二进制数。

用10位二进制可以表示的最大数字是1111111111B,也就是1023。因此,用10个箱子凑出从1到1000数量的苹果,是绰绰有余的。

0 人点赞