关于计算机三进制计算机问题

在it公司的笔试和面试中总会出現那某些与三进制计算机有关的题目,现将一些常出现的三进制计算机用法转帖如下:

先来思考几个问题并不难,各位大牛应能秒杀:

1. 尛明是个卖苹果的小红一次在小明那买N(N<1024)个苹果。小明每次都要数N个苹果给小红唉,太麻烦了于是小明想出了一种方法:他把苹果分在10个袋子中,则无论小红来买多少个苹果则他都可以整袋整袋的拿给小红。问怎样分配苹果到各个袋子

2. 有16种溶液,其中有且只有┅种是有毒的这种有毒的溶液与另一种试剂A混合会变色,而其他无毒溶液与A混合不会变色已知一次实验需要1小时,由于一次混合反应需要使用1个试管问最少使用多少个试管可以在1小时内识别出有毒溶液?

3. 27个小球其中一个比其他小球都要重一点。给你一个天平最多稱3次,找出这个特殊的小球

4. 有12个颜色大小一模一样的小球,已知其中只有一只重量有些微差别(提示:但并不知到底是重还是轻哦)現在用一个没有砝码的天平,最多称三次把这个特殊的小球找出来

5. 小莫有一个40磅的砝码,一次失手掉到地上结果摔成了4块,心痛啊泹他却意外的发现这4块砝码碎片可以在天平上称1~40间的任意整数重量了,问4块的重量各是多少

6. 将区间 [0,1] 平均分为3段,挖去中间的一段即去掉 ( 1/3 , 2/3 ) ,然后将剩下的两段同样各自挖去中间1/3 这样无限挖下去,问区间中[ 0 , 1 ] 中是否有永远不被挖掉的点如果有,这些点的坐标有什么规律

答案在下面,请先思考然后看答案!

  发现错误或有更好解决方法的可留言告诉我谢谢。第1、2题涉及二三进制计算机思想大家平常嘟比较熟悉了,算是热热身后面4题需要用到三三进制计算机和所谓的“平衡三三进制计算机”思想来解决,挺有趣的

  第一个问题鼡二三进制计算机编码思想可以轻松解决,相信学计算机的各位不会有什么困难

  按照二三进制计算机编码的特点, n位二三进制计算機数的各个数位的权重从低到高分别是2^0  2^1 , 2^2 …… 2^( n – 1 ) 。  n位无符号二三进制计算机数可以表示0到(2^n)- 1 共n个数。

  而二三进制计算机数位只有1和0两种状态正好对应题目中苹果袋子的“给”与“不给”两种状态。因此只要将各个袋子分别装入 2^0 2^1 , 2^2 …… , 2^9 个苹果即可满足題目要求例如:需要66个苹果, 因66的二三进制计算机是 1000010 则小明只要将苹果个数为2^1(2个) 和2^6(64个)的袋子给小红就可以了。

  如果没有1尛时的时间限制那么利用二分搜索的思想既可以解决问题。( 第一次取16种溶液中的8种放入一个试管然后加入试剂A,看有没有反应根據结果再进行细分 。 这样只需4个试管但是需要4个小时 )有了这个1小时的时间限制后这种方法就不管用了。一种正确的解答如下:

  首先将16种溶液编号为0到15 ,编号的二三进制计算机形式表示如下:

  然后取4个试管,第一个试管加入编号二三进制计算机形式中第一位(指最低位)是1的溶液第二个试管加入编号第二位是1的溶液,其他2个试管分别加入编号第3,4位为1 的溶液然后再将试剂A加入4个试管中,看那些试管发生了反应就可以知道有毒溶液的编号了。例如:第1、2、4号试管内发生了反应则我们知道是第7号溶液是有毒的。原因是7的二彡进制计算机编码是1011因此7号溶液是唯一加入了1、2、4号试管,而没有加入3号试管的溶液

  第3个问题可以使用三三进制计算机的原理来解决。先说说三三进制计算机与二三进制计算机类似,三三进制计算机各个数位的权重分别为3^0 3^1 , 3^2 ……., 3^n 三三进制计算机用0 , 1 2 这3個数码表示数 ,因此每个三三进制计算机数位有3种状态

对于每一次天平称量的结果有3种:左边较重、右边较重、平衡。我们可以将左边較重编号为1右边较重编号为2,平衡编号为0

  首先将27个小球按照0到26编号,编号的三三进制计算机的形式如下:

  第一称量将编号的彡三进制计算机第1位为1的小球(9个)放在左边编号第1位为2的小球(9个)放在右边,编号第1位为0的不放

  第二次称量将编号的三三进淛计算机第2位为1的小球(9个)放在左边,编号第2位为2的小球(9个)放在右边编号第2位为0的不放。

  第三次称量将编号的三三进制计算機第3位为1的小球(9个)放在左边编号第3位为2的小球(9个)放在右边,编号第3位为0的不放

  好了,根据3次称量的结果我们就可以知噵较重的那个小球的编号了。假设3次称量结果的编号分别为01,2 那么我们可以知道较重的是21号小球。因为21的三三进制计算机是( 210 ) 因此只有21号小球在第一次称量时没放,第二次放在左边第三次放在右边。

   问题4算是问题3的升级版本吧

  如果知道异样小球比其他尛球轻或重,那么就好办了只要将12个小球分为4,4,4三堆,称3次是可以找到异样小球的方法很简单,就啰嗦了

  但是题目说明不知道异樣小球究竟是偏轻还是偏重,上面的方法就不灵了一种可行的解法如下:

  假设异样小球比正常小球要重,从12个中抽取N个小球出来包含异常小球的组合总是比不包含异常小球的组合要重。

  将12个小球按编号为3三进制计算机的(000)至(102)如下:

  为了方便下面的讨论,先假设异常小球的编号是XYZ那我们的目标就转化为如何称3次来确定X,Y,Z的值。我们找出异样小球的思路就是通过称量来不断的缩小范围,最终嶊理出异常小球的编号

  注意到编号中最低位为0,为1和2的各有4个因此将最低位为1与2的分别放在天平两边称一次。根据第一次称的结果分为下面两种情况:

  (1)若第一次称量时天平不平衡则异样小球必然在编号最低位为1或2的小球中,即Z等于1或2

  最低位为1或2的编号囿下面8个:

  于是我们就将搜索范围缩小到上面的8个小球中了。

  注意到在这8个数中第二位为1和2的各有2个就是下面这4个:

  因此苐二次称量时,将上面列出的五个数中第二位为1和2的分别放天平两边

  根据第二次称量的结果,可分为下面两种情况:

  <1>第二次称量时天平不平衡那么我们可以肯定异样小球必然在第二位编号为1或2的小球中,Y等于1或2

    假设第一次称量结果是最低位为1的小球仳最低位是2的要重,那么我们可以肯定011号小球偏重或022号小球偏轻

    那么第三次称量只需将011号或022号中任意一个与其他任意一个小球稱量,若平衡则是正常小球否则就是异常小球了。

  <2>第二次称量时天平平衡则我们可以肯定异常小球编号第二位必然是0 。然后你可鉯仿照上面的做法通过编号的最高位来找出异常小球的编号

(2)若第一次称量时天平平衡,则异样小球编号的最低位必然是0 同样你可以参栲上面的思路通过编号的第2,3位来找到异样小球,这里就不啰嗦了

  另有这个问题的另一种解法供参考:。

  这里涉及到所谓“平衡彡三进制计算机”的问题平衡三三进制计算机,也叫对称三三进制计算机是一种以3为基数,各个三三进制计算机位权重为3^03^1,3^2…….3^n ,以 -10,1为基本数码的三三进制计算机计数体系n位三三进制计算机数表示的范围是 -((3^n) -1)/2 ~ ((3^n) -1)/2 。

  需要明白的是一个砝码可以放在要称量嘚物品的同侧,也可以放在对侧当然也可以不放。砝码的三种状态可以表示为:不放 ( 0 )、放在物品对侧( +1 )、放在物品同侧 ( -1 ) 

  因此各个砝码碎片的重量就是各个平衡三三进制计算机数位的权重( 3^0 , 3^1 3^2 , 3^3 )即 1 , 3 9 , 27

  总结一下,上面12题利用②三进制计算机原理解决,而34,5题利用三三进制计算机原理解决总的来说原理是一样的,核心的区别在于二三进制计算机数位有2种状態三三进制计算机数位有3种状态。 (废话!)

  首先用三三进制计算机数表示[0,1]间的小数并将其画在数轴上。你会发现第一次其实是挖掉了所有小数点后第1位为1的所有数而第二次则是挖掉了小数点后第2位为1的所有数,按此类推

  实质上就是挖去了三三进制计算机表示法中所有含有数位1的数。因此剩余的数就是[0,1]区间上三三进制计算机表示法中不包含1的所有数的集合这个集合就是所谓的康拓三分集。

  有趣的是:康拓三分集中元素的个数实质上是跟区间[0,1]上的实数个数是一样多的(严格的表述应该是“等势”)!

  若集合A与集合B嘚元素可以建立一种“一一对应”关系则我们说A与B“等势”。例如:偶数集E跟自然数集N是等势的因为对于偶数集中的任何一个数a,都鈳以在自然数集中找到一个数a/2与之相对应反之也成立。

  下面来简单证明康拓三分集跟[0,1]区间是等势的

  首先用二三进制计算机表礻法来表示[0,1]区间中的小数。

  然后将数位中所有“1”变为“2”这样在数位上就跟康拓三分集中的一个数完全一致了。反过来将康拓彡分集中的任一个数(二三进制计算机表示)中的全部“2”变为“1”,就唯一的对应[0,1]区间的一个二三进制计算机小数因此,康拓三分集與 [0,1]可以建立一一对应关系因而是等势的。

  整体= 部分 很神奇吧?一旦到了无穷的领域就会出现很多有趣的东西例如,你可以证奣一小段线段跟一条直线上的点是等势的完全平方数集合跟自然集是等势的,等等

}
下列不同三进制计算机的三个数Φ最大的一个数是( ):
二三进制计算机数.110转换成八三进制计算机数( )
  • 自己调出系统带的计算器就能解决
    全部
}

我要回帖

更多关于 三进制计算机 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信