关于2进制思想的趣味题。

1.有一条金条,一个人给一个老板打工7天,每天给那人金条的七分之一,把金条最少切几次才可按时将工资发放?

2.现有1000个苹果,10个盒子,现在要你将1000个苹果装入10个盒子中,使得用户无论购买多少个苹果(1-1000),都能由若干个盒子拼装而成(卖的时候是整个盒子卖,不能拆盒子的包装)
怎么装??

3.有1000瓶液体,无色无味,外表完全一样,其中一瓶是毒药,有10条警犬,警犬喝过毒药后两小时后死亡。问,如何在两个小时后确定哪瓶是毒药。

4.如何仅使用4个砝码,称出40克以内(及40克)的重量的物体。


1、分析:

     最少只需切割2下,分别切出1/7,2/7和4/7的三块。
     因为要将金条切割成最少几份,来分别给工人的7天的工资按时发工资。所以可以将问题转化为:“选择最少几个数,可以表示1到7的7个数的问题”。
     首先,第一天的工资,必须要切割出1/7块来发工资。
     然后,第二天时候,有两种切法来发工资,一种是再切1/7,一种是切2/7通过交换第一天的1/7来实现发放工资的效果。此时,考虑使用第二种时,第三天无须进行切割,便可完成所有交换,达到最佳效果。Ps:若采用第一种,第三天是必须要进行切割。
     通过第二种方法,第三天只需把1/7块支付即可。
     第四天,使用4/7交换工人手中的1/7和2/7。
     第五天,再给1/7。
     第六天,使用2/7交换1/7。
     第七天,给出1/7完成交付。

2、分析:

     可以将1000个苹果以1,2,4,8,16,32,64,128,256,489。
     1000个苹果分装在10个盒子里实现用户无论要买多少个,均可直接获取其中几个盒子达到目的。可以将其转化为“十个数的组合使其可以表示1000以内的任意一个数”。
     可以发现1000约等于1024,而使用
     00000 00001
     00000 00010
     00000 00100
     00000 01000
     00000 10000
     00001 00000
     00010 00000
     00100 00000
     01000 00000
     10000 00000
的十个数的组合即可表示1023以内的任意数字。而由于只有1000个苹果,且只需表示1000以内的数字,所以最后一个数及取512 - 32 = 489个。这时前九个盒子可表示511以内任意一个数,和489组合,即可实现1000以内任意数字的表示。

3、分析:

     因为要通过10只警犬,区分出1000瓶中的唯一一瓶毒药。
     首先,假想10只警犬即十个二进制位,可以表示两个值,两种状态。则,可以演化出2^10 = 1024种状态。
     然后,对1000瓶药水进行编号。
     从00000 00001
     00000 00011
      .....
     11111 01000
     总共1000个编号。对警犬1喂最后一位为1的药水,对警犬2位倒数第二位为1的的药水.....对警犬十喂倒数第十位为1的药水。
     此时根据警犬的状态,可判断药水是否有毒。
如:
     当警犬1死,其余不死时,判断00000 00001有毒。
     当警犬2死,其余不死时,判断00000 00010有毒。
总结:  
     即,几号警犬死亡,则对应位为1,其余位为0的标签药水有毒。

4、分析:

    首先,根据二进制的思想,但使用1、2、4、8只能称出15以内质量的物体。再累似二进制思想。2克可以使用左边3克,右边1克的方法实现2克的重量称量。故1克、3克可实现4克以内的称量,下一个使用9克可实现14克以内的称量。再加一个27,即可实现40以内的所有质量的称量。


总结:这些题都是使用尽量少的数表示最多的数。在不能使用减法时,最优的解法是采用二进制的方式。如第二和第三题。

           当可使用减法时,最优解为三进制方式,如第一题和第四题。

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值