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

095e7998436137b0c5476ec788550b02.png

769384f38b067cf461e4702c815bef07.png

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

766992e0b57b49d23da90c1f7ae950b2.png

86a6ff1e9a76c694e01d15243954c83a.png

8abf42844047fdc16a42d93567b96de9.png

完整题目如下:

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

ba0fe6eb5702a40dc6ce382996442bbe.png

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

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

0268a78d5468f291e38ab1e4e50cf935.png

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

6015460f5804c6f3b9816a7816c99bf2.png

3b517b4c4072d213ed06450a3e695a35.png

643b99454ac05320524a52fc3ab3e3fd.png

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

07d9b51df504efa9094d327cb86327a0.png

e7744d7949ae9a653be8dfd3a16fb79b.png

67aab3f558c37dd3a37161b5f302de8b.png

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

2359527a7c0009aa27eef1d954a52a7f.png

583233e163090d2da53252704eca7cd9.png

32f91b154444e72b0e848a371de38253.png

81496aad0e097cd21f3341d4c311b987.png

a756830624dc9fc5718c1e8c9c01050e.png

fdc85f945951b621327f78f83ecc73b4.png

f0fa4aca6aa58ae966f1cf62e9f43d9f.png

a108692dfca9b71c5a008aa4cf5534e9.png

a39f2e5b16715326e8d0395098d9f433.png

23ef45d5eb5dd568253a24050cb48c0a.png

2c58454a2e82b8a7e659508a79409201.png

a3eed1a63f3a0dddb9aadf281e5e6c8c.png

2900abec99367b053c0d8ae6bde31fce.png

c23c3e36e899d0d432706e51c3146869.png

c4aae064e3dcc4541ad557de90c32e23.png

e6c7a18011b0186034d129f814634c72.png

85c8405d7bd05eb857a4785296c708b2.png

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

4d83b64341845705498d8cdf415ef728.png

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

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

e3f613d1c31b006ec3fe471aa269e9b7.png

a2cedfcfda7499cab2f9e3ca7661f2c4.png

da41f8b2ac55749747fb0c08e98d20d4.png

6568988355d094714e29083fec947400.png

16aff62453d78cae1b2c3434d2cd859d.png

1beaaf4b203cc56295c8d4eada843f5f.png

0990b783c7ee7a00c5c91bfd95e8e3be.png

8e5ba2310ae930e878f2b4fa53bcf711.png

727a2a9b0e17b265b56f0dfab940a39c.png

e00378f88f53f3006140d9422ebdefb8.png

58b292362a96e31059afaa648878450e.png

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值