在阅读《费马大定理》书时,在书的最后遇到一个问题,就是如何用最少的整数砝码在天平上称量出从1到40的重量。
其实这种类型的问题在之前也遇到过,最佳的“推理”方法是使用二进制的思想,因为十进制的40写成二进制为101000,共有六位,所以只需要六个砝码就可以累加出1至40的全部的数字,这六个砝码分别是:
砝码 | 二进制 |
---|---|
1 | 000001 |
2 | 000010 |
4 | 000100 |
8 | 001000 |
16 | 010000 |
32 | 100000 |
该问题到上面还没有结束。因为以前经常遇到天平这类的问题的脑筋急转弯,所以就会有一种条件反射:天平的两边都可放置砝码,也就是说应该还存在一种使用砝码更少的方案。
确实是存在的,但是现在所考虑的是能不能通过如二进制似的方式推算出到底是哪几种砝码,一开始自己没有想出来,看了答案才发现原来如此,那就是:
三进制
之前在考虑二进制的时候,考虑在一个位置上要么有(为1),要么没有(为0),但是当砝码可以放在待称物体同侧的时候,又会多出另一种情况,即要减去这一项(即为-1),这样一个位置上就有了三种选择,而40的三进制为:1111,这样就可以仅使用4个砝码了:
砝码 | 三进制 |
---|---|
1 | 0001 |
3 | 0010 |
9 | 0100 |
27 | 1000 |
上面的三进制是如何反映出砝码是如何放置的呐?
一开始以为:
0:表示没有用到,1:表示该砝码用在砝码侧,2:表示该砝码放在重物侧(开始的这种理解是错误的)
应该是,有2的时候要进一位,再减去1;
比如11,三进制为102,应该为110-1,对应的砝码就是9+3-1