给你20瓶药,其中19瓶的药是1克重,剩余1瓶里面的药每片重1.1克。给你一个称,只能称一次,找出这瓶重量较大的。
由于只能称一次,那么肯定所有瓶里面的药都要参与进来。
如果每瓶都拿出来一片,显然没有什么意义的,总重量是20.1克。我们必须分别对待每一瓶药。
具体做法就是,第一瓶拿出1片,第二瓶拿出2片,以此类推。假设每片都是1克,那么总共有210片药,共计210克。但是有一瓶里面的药是1.1克重,不妨设是第x瓶比较重,那么比210克就会重出x * 0.1克的重量。(最后重量 - 210 ) / 0.1 = 重的瓶号。比如最后重量为211.3克,那么就是第13瓶药比较重。
其实,若都从0开始计算,第0瓶拿出0片,也能解出来。