zoukankan      html  css  js  c++  java
  • 梅的体重问题

    时间:2014.04.19

    地点:基地地板

    情绪:哈~我认为至少每天应该有一篇博客记录自己当天的心情或者什么的,相信CSDN可以伴随自己的成长。今天大学本科班上的同学小聚会,昨天晚上铄爷就打电话给我,说准备过来。然后吴亚哥也会到场。恰好娇哥也还在。于是把原来通一通二的兄弟姐妹们都喊了过来,所幸今天大家今天都还有空,美美的一天,如今回到实验室一如既往的轻松和愉悦。

    徐老师又准备让我启动项目了,事实上不是那么非常想做项目了,想自己巩固好基础,哎。木有办法啊,做项目固然非常锻炼人,但在时间比較紧张的这么个时候,真的好想干自己的事了。

    -----------------------------------------------------------------------------------

    一、题目

      用四个砝码称出1—40克全部重量。四个砝码分别为多少?

    -----------------------------------------------------------------------------------

    二、解析

      这是著名的梅氏砝码问题,我在网上找了好久,也没看到也详细分析怎样推导解决问题的公式的,所以也还是照大家的样先给出求解问题的办法。

    梅氏砝码:若有n个砝码,重量分别为M1,M2,……,Mn,且能称出从1到(M1+M2+……+Mn)的全部重量,则再加一个砝码,重量为Mn+1=(M1+M2+……+Mn)*2+1,则这n+1个砝码能称出从1到(M1+M2+……+Mn+Mn+1)的全部重量。


    有了这样一个递推公式后,答案就非常easy推出来了:1,3,9,27

    事实上说白了就是3的从0次方到n次方。也就是说从小到到,由3的各次幂组成一个数组序列的话,那么我们可从这个数组序列中取数做加减运算称出1到整个数组元素和 的不论什么重量。至于怎么推导的。我也不晓得啊。望有大神指导。

    -----------------------------------------------------------------------------------

    三、梅氏砝码问题补充(2014.05.04)

      今天倒是进一步学习了这个有趣的问题

    1、首先从理论上分析可行性

       如果这4个砝码为A1<A2<A3<A4

       可有组合: k1*A1+k2*A2+k3*A3+k4*A4   k1,k2,k3。k4属于集合{1,-1,0 },该式子的取值为[1...40]

    显然每一个k的取值有3种状态,于是这种不同取值数共同拥有3的4次方为91,依据对称性,组合后的值有负的。零值。还有正的,除去零值。还有90种,除去负的。于是还有40种,恰好4个砝码是能够做到的。

    2、怎样做到

      首先,要能称出1 克重量,须要1 克砝码,即A1=1,当前可称出1

      然后,添加A2后。可新称出A2-1。A2,A2+1,A2-1=2。即A2=3。当前可称出1 2 3 4

      再然后。添加A3后,可新称出A3-A2-A1。A3-A2,A3.......即A3-A2-A1=5,A3=9。当前可称出1 2 3 4 5 6 7 8 9

      ......

      最后一步是如此明显A4=27

    版权声明:本文博客原创文章。博客,未经同意,不得转载。

  • 相关阅读:
    ASP.NET Core教程:ASP.NET Core使用AutoMapper
    C#:C#调用WebService
    EntityFrameworkCore教程:更新时间映射
    EntityFrameworkCore教程:表名映射
    EntityFrameworkCore教程:Data-Seeding(种子数据)
    EntityFrameworkCore教程:生成数据库表
    EntityFrameworkCore教程:单元测试
    OAF_文件系列5_实现OAF解析XML文件javax.xml.parsers(案例)
    OAF_文件系列4_实现OAF上传显示数据库动态图片Image(案例)
    OAF_文件系列3_实现OAF多行表中附件功能AttachmentImage(案例)
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/4674681.html
Copyright © 2011-2022 走看看