三进制与一道经典的砝码问题

转载 2012年03月28日 14:29:58

 

现在我们普遍使用十进位制进行数学运算,大概是源于我们的祖先喜欢用手指来计数,毕竟数学首先是一种实用的工具。另一种常使用的进位制是二进位制,在计算机运算之中。

日常生活中好像没有三进制的立足之处。1个季度是3个月,应是三进位制,可是我们说1年是4个季度,而不是11个季度。交通信号的红绿黄的三种状态可以表示0、1、2来描述,这似乎与三进制沾上了边,可是最近红绿黄灯多变成了红绿灯,三进制变成了二进制。

虽然在日常生活中少有表现的机会,但是用三进位制就非常容易解决一道关于砝码的经典趣味数学题。

这道砝码问题是巴协(Bachet)给出的:要想在天平上称出1到40磅在内的任何整磅数,问最少需要几个多重的砝码?这里有两种放置砝码的办法:(1)所有砝码只放进天平的一端,(2)砝码可以放进天平的两端。

对于(1),砝码具有两种状态,不放或者放。记不放为0,放为1,这个问题可以使用二进制来解决。二进制的砝码重量设置为1、2、4、8、16、32。在1到1+2+4+8+16+32也就是63之内的任何数量都可以用1、2、4、8、16、32中的某几个数相加得到。所以问题(1)的砝码数是6个,每个砝码的重量设置为1、2、4、8、16、32磅。

对于(2),砝码具有三种状态,不放、放在天平左端、放在天平右端。记不放为0,放左边为1,放右边为-1,这个问题可以使用三进制来解决。在三进制中,砝码的重量设置为1、3、9、27.。在1到1+3+9+27也就是40之内的任何数量都可以用1、3、9、27中的某几个数相加或者相减获得。

我们来看这几个砝码是如何称量1到40的:

 

1=1;2=3-1;3=3 ;4=3+1;5=9-3-1 ;6=9-3 ;    

7=9-3+1;8=9-1 ;9=9  ;10=9+1 ;11=9+3-1

……

35=27+9-1; 36=27+9;37=27+9+1

38=27+9+3-1;39=27+9+3;40=27+9+3+1

 

这里,加号意味着天平左边放置砝码,减号意味着天平右边放置砝码(与被称重的物体放在同一端)。

如果我们增加两个砝码81磅和243磅,用6个砝码可以就称重1到364磅的重量。如果砝码继续按3的幂次增加重量,则称重的范围越来越大。用重量为1、3^2、3^3、……、3^n的n个砝码可以称出从1到(3^n-1)/2的所有重量。

问题是,如果一个被称物体较重,我们该如何在天平两端放置砝码呢?这里涉及到十进制向三进制的计算。像十进制转化为二进制一样,转化方法就是连续的除法运算(这里不打算详细介绍)。

例如,(80)10=(2222)3

等式右边的含义是,80可以用2个1、2个3、2个9、2个27相加而成。

在天平称重中,我们要的是最少的砝码数,我们可以把2变成(10-1)3(简记为-1),也就是说,一个大一级的砝码减去一个小一级的砝码。大砝码放在天平左端,小砝码和被称重物一同放在天平右端。

因为,(2222)3=(1000-1)         ,该式的含义就是用2个1、2个3、2个9、2个27加成的得数等于用1个81减去1的得数。

所以,要称重80磅的物体,需要在天平左边放置1个81磅的砝码,在天平右边放置一个1磅的砝码。

又例如,如果我们用最少的砝码称出了一个331磅的东西,我们究竟用了哪几个砝码呢?

因为(331)10=(110021)3=(1101-11)3

所以,要称重331磅的物体,需要在天平左边放置1个243磅的砝码、1个81磅的砝码、1个9磅的砝码、1个1磅的砝码,在天平右边放置一个3磅的砝码。

因为每一次称量能区别3个球,将12表示为三进制。

在文章的最后,我们把巴协(Bachet)的砝码问题稍稍扩大一些:要想在天平上称出1到500磅在内的任何整磅数,问最少需要几个多重的砝码?这里有两种放置砝码的办法:(1)所有砝码只放进天平的一端,(2)砝码可以放进天平的两端。

动态规划-砝码称重问题

动态规划(Dynamic Programming)这个词乍一听感觉甚是高大上,初次学习或者使用的时候会感觉难以理解,这是正常的,毕竟凡事都是一回生二回熟。其实它也不难的,大家要明白一个道理,能写到课本...
  • dreamandxiaochouyu
  • dreamandxiaochouyu
  • 2016年09月06日 17:14
  • 1870

蓝桥杯——说好的进阶之砝码称重(贪心算法)

5个砝码 用天平称重时,我们希望用尽可能少的砝码组合称出尽可能多的重量。 如果只有5个砝码,重量分别是1,3,9,27,81。则它们可以组合称出1到121之间任意整数重量(砝码允许放在左右两个盘中)。...
  • hymanxq
  • hymanxq
  • 2014年05月10日 07:34
  • 4236

NOI题库--砝码称重V2(多重背包2^n拆分)

NOI题库--砝码称重V2(多重背包2^n拆分)
  • DaD3zZ
  • DaD3zZ
  • 2015年11月01日 17:41
  • 662

面试题:砝码问题

此题,考试的时候没选这题,因为输入太多。
  • tiger9991
  • tiger9991
  • 2014年05月31日 21:13
  • 840

大题---砝码称重(贪心算法)

5个砝码 用天平称重时,我们希望用尽可能少的砝码组合称出尽可能多的重量。 如果只有5个砝码,重量分别是1,3,9,27,81。则它们可以组合称出1到121之间任意整数重量(砝码允许放在左右两个盘中...
  • linhaiyun_ytdx
  • linhaiyun_ytdx
  • 2016年02月03日 15:31
  • 1163

蓝桥杯 砝码称重 递归 解题报告

5个砝码 用天平称重时,我们希望用尽可能少的砝码组合称出尽可能多的重量。 如果只有5个砝码,重量分别是1,3,9,27,81。则它们可以组合称出1到121之间任意整数重量(砝码允许放在左右两个盘中...
  • wr132
  • wr132
  • 2015年03月01日 17:41
  • 1402

poj 1702 平衡三进制

思路: 平衡三进制。 先将n转换为3进制,再转化为平衡3进制,-1项全部移到右面,左右面分别输出。平衡三进制具体转化方法 先转化为用0,1,2表示的3进制,然后通过“借位”转换 若对应的系数为...
  • yeruby
  • yeruby
  • 2015年07月24日 21:41
  • 624

砝码组合(三进制与深度搜索)

用三进制和DFS解决砝码问题
  • H0_0P
  • H0_0P
  • 2016年12月14日 19:19
  • 120

算法讲解之Dynamic Programing —— 背包DP [资源分配问题]

说到动态规划算法里面的背包DP,有个东西是必看的。这里给出资源地址《背包九讲》http://download.csdn.net/detail/qq_33583069/9572174 然后这里还有份雅...
  • qq_33583069
  • qq_33583069
  • 2016年08月20日 16:01
  • 926

梅氏砝码问题

梅氏砝码问题
  • u012333003
  • u012333003
  • 2014年04月19日 19:25
  • 1476
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:三进制与一道经典的砝码问题
举报原因:
原因补充:

(最多只允许输入30个字)