一位商人有9枚银元,其中有1枚略轻的是假银元,你能用天平(无砝码)将假银元找出来吗?写出解决这一问题的一种算法.
|
解法 1:算法步骤如下:第一步:任取 2枚银元分别放在天平的两边,如果天平左右不平衡,那么轻的那一边就是假银元;如果天平平衡,那么进行第二步;第二步:取下右边的银元,放在一边,然后把剩下的 7枚银元依次放在右边进行称量,直到天平不平衡,偏轻的那一边就是假银元.解法 2:算法步骤如下:第一步:把 9枚银元平均分成3组,每组3枚;第二步:先将其中两组放在天平的两边,如果天平不平衡,那么假银元就在轻的那一组;如果天平左右平衡,则假银元就在未称量的那一组里; 第三步:取出含假银元的那一组,从中任取 2枚银元放在左右天平两边进行称量,如果天平不平衡,则假银元在轻的那一边;若天平平衡,则未称的那一枚就是假银元.这样利用上述算法,只需两次称量就可以将假银元找出来,显然要比第一种算法简捷、有效.
|
|
最容易想到的解决该问题的办法是:把9枚银元按顺序排成一列,先称前2枚,若不平衡,则可找出假银元;若平衡,则2枚银元都是真的,再依次与剩下的银元作称量比较,就能找出假银元. 对于这种非数值性总是的算法设计问题,应当首先建立过程模型,根据过程设计步骤,完成算法,另外,这种算法最少要称量1次,最多则要称量7次,仔细分析,我们还可以有如下更好的方法. |
湖北省互联网违法和不良信息举报平台 | 网上有害信息举报专区 | 电信诈骗举报专区 | 涉历史虚无主义有害信息举报专区 | 涉企侵权举报专区
违法和不良信息举报电话:027-86699610 举报邮箱:58377363@163.com