题目描述
题目解析
⭐⭐这个题其实就是所谓的德•梅齐里亚克的砝码问题,解决这个题需要用到平衡三进制的相关知识。
🌙在看这个问题之前先看一个简化版的问题:对原题目进行限制,让砝码只能放到物品的对侧而不是俩边都放,问至少需要多少个砝码?
⭐思路:将题目转化为数学问题也就是:给一个整数N,要求能够用最少的一套数字(对应一套砝码)通过加法(也就是放到物品对侧)得到1~N的所有数字。这一套数字(砝码)每一个只能用一次,也可以不用。
例如:给一个整数7,我们选的一套砝码是{1,2,4}
因为:1=1;2=2;3=1+2;4=4;5=1+4;6=2+4;7=1+2+4.
最好需要3个砝码。
⭐有些人发现这套砝码{1,2,4}刚好都是2的次方,实际上如果N再比7大比16小,我们只需要在加一个砝码8,就可以了,因为再加一个8后,就可以用{1,2,4,8}表示1~15的所有数字了
那么原因呢?为什么刚好都是2的次方?
这就要想到二进制了,二进制中各位的权值不就刚好都是2的次方,而且二进制作为一种数的表示,它当然是连续的,可以表示1到2n-1中的所有数。
总结一下