用一架天平和10个重量均为整数克数的砝码,可以直接称出1---2002的所有整克数的重量,只能放在天平的一边,最重的一个是多少,我看答案是979,
问题描述:
用一架天平和10个重量均为整数克数的砝码,可以直接称出1---2002的所有整克数的重量,只能放在天平的一边,最重的一个是多少,我看答案是979,
答
这题可以证明是无解的,因为10个砝码只放在一边,相当于是用10个整数,取出任意个,相加得出1~2002的所有整数。而从10个数中取出任意个数,总的取法只有2^10个(每个数有取和不取2种选择,共10个数,因此取法有2*2*2*……*2=2^10),也就是说,这10个数最多只能组成2^10=1024个不同的和,怎么可能表示1~2002的所有整数呢?
如果是用11个砝码称出1~2002的所有重量,或是用10个砝码称出1~1023的所有重量,则可解,砝码重量为
1,2,4,8,16,32,64,128,256,512,(1024)
都是2的幂次。因为任意一个数对应一个2进制数,这相当于任意一个数可以分解成一些2的幂次相加,如100=(1100100)二进,因此100=64+32+4=2^6+2^5+2^2,因此任意一个数可分解为上述各数的和。
给小学生讲的话省略掉二进制的一部分就可以了。
答
为叙述方便,将克省略.要表示出1~n的连续自然数,应该是2^0、2^1、2^2、2^3……2^n.则有1、2、4、8、16……因为1 + 2 + 4 + 8 +16 …… + 1024 = 2048 - 1 = 2047,所以最大砝码应减去(2047 - 2002)= 45.1024 - 45 = ...