漫画:有趣的“分苹果”问题
Posted 程序员小灰
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了漫画:有趣的“分苹果”问题相关的知识,希望对你有一定的参考价值。
————— 第二天 —————
完整题目如下:
我们有1000个苹果,要用10个箱子来进行分装,每个箱子所装的苹果数量不限。
但是这里有一个特殊的要求:当我们想要任意数量(从1到1000)苹果的时候,只需要给出几个整箱就行了。
比如,我们想要123个苹果。那么给出第1个、第3个、第5个箱子,里面的苹果数量加起来刚好是123。
如何在这10个箱子里分配苹果,才能满足以上的要求呢?
————————————
(小灰把面试官的问题一五一十地告诉了大黄)
很明显,每个箱子都具有两种状态,“不使用”和“使用”,这就好像是二进制当中的0和1。而前三个箱子的苹果数量分别是1、2、4,这正好对应了二进制前三位的大小:
题目中一共有10个箱子,那我们就可以用这些箱子表示10位二进制数。
用10位二进制可以表示的最大数字是1111111111B,也就是1023。因此,用10个箱子凑出从1到1000数量的苹果,是绰绰有余的。
创作打卡挑战赛 赢取流量/现金/CSDN周边激励大奖
以上是关于漫画:有趣的“分苹果”问题的主要内容,如果未能解决你的问题,请参考以下文章