二进制数表示法相关的逻辑问题

问题一:

1000个苹果放入10个相同的箱子中,任取n个整箱苹果可以凑成1000以内的各个任意数字,问每箱苹果应该放几个?

思路:

这个问题的思路就和标题是一样的,凑数一般就和二进制跑不远,根据二进制的凑数方式来看,基本上自然数都可以解决。

那么这个问题的答案就呼之欲出了,1    2   4   8   16  32   64   128  256   (1000 – 256 – 128 – 64 – 32 – 16 – 8 -4 – 2 – 1 = 489 这个地方是个小细节,稍微不注意写个512就炸了)

问题二:

1000瓶水中有一瓶是有毒的,10只老鼠喝水试毒,确定出来唯一的一瓶有毒的。当然这个可以和多种情况结合后出题,例如如下情况:

1.这个毒是可以快速致死的,或者这个毒没这么快发作,会在一个时间段内发作。

2.小鼠能否喝下这么多的水。

3.要求多长时间内测出来这瓶有毒的水。

无论他怎么说,一般方式都是给水编号,然后10只小鼠排排站,想好了死鼠是1还是活鼠是1(死鼠是1就好),从左边开始,然后根据二进制表示法来给小鼠喝对应的编号的水,然后根据小鼠的死亡状态来转为二进制数对应的十进制数,然后这个编号对应的这瓶水就是有毒的那个了。

点赞