MT【142】Bachet 问题,进位制

时间:2022-09-23 00:13:33

问题:
满足下面两种限制条件下要想称出40以内的任何整数重量,最少要几个砝码:
i)如果砝码只能在天平的某一边;
ii)如果砝码可以放在天平的两边.
MT【142】Bachet 问题,进位制

提示:对于 i)先证明如下事实:
\[\textbf{砝码 $1,2,4,\cdots,2^{n-1}$ 可以称出 $2^n-1$ 以内的任何整数质量,且没有其他的仅由 $n$ 个砝码组成的集合具有同样的称重效果(能称出同样多的一列从 $1$ 开始的连续重量)}\]

分析:
因为 \(1\) 到 \(2^n-1\) 的任何正整数无一例外的可以用唯一的表示方式表示成一个 \(n\) 位二进制数,表示成和式为\(\sum\limits_{0}^{n-1}{a_s2^s}\), 其中 \(a_s\in\{0,1\}\). 从而这样的砝码就可以满足我们的目标,且"没有浪费"(没有两种砝码的组合会产生相同的效果).既然没有浪费,故没有另外的选择的砝码能称更长的一列重量.
为了称重量为 \(1\) 的质量,有一个砝码必须是 \(1\) ;为称重量为 \(2\) 的质量,有一个砝码必须为 \(2\); 为称重量为 \(4\) 的质量,有一个砝码必须为 \(4\); 依此类推, \(1,2,4,\cdots,2^{n-1}\) 是能实现我们目标的唯一的一组砝码.

回到此题,
40不是形如\(2^n-1\)的数,由上述分析 可知道,砝码 \(1,2,4,8,16,32\) 可以称出 63 以下的任何质量,而没有五个砝码可以称出超过\(31\)的质量.但值得注意的是对于 40 而言,解答不唯一.砝码 1,2,4,8,9,16 也能称出 40 以内的任何质量.

对于ii)可以参考北大的自主招生题MT【38】

MT【142】Bachet 问题,进位制的更多相关文章

  1. Codevs 2898 卢斯的进位制

    时间限制: 1 s  空间限制: 32000 KB  题目等级 : 青铜 Bronze 题目描述 Description 著名科学家卢斯为了检查学生对进位制的理解,他给出了如下的一张加法表,表中的字母 ...

  2. 【XSY1529】小Q与进位制 分治 FFT

    题目大意 ​ 小Q发明了一种进位制,每一位的变化范围是\(0\)~\(b_i-1\),给你一个这种进位制下的整数\(a\),问你有多少非负整数小于\(a\).结果以十进制表示. ​ \(n\leq 1 ...

  3. ACM 求全排列(字典序、邻位对换、递增进位制数,递减进位制数)

    字典序:(联合康托展开就也可以按照中介数求) 邻位对换.递增进位制数,递减进位制数:具体的实现和算法讲解如下: 代码..C++版的实现并不好..因为是挨个向后找的,如果K很大的时候会超时,不过...思 ...

  4. 2016北京集训 小Q与进位制

    题目大意 一个数每一位进制不同,已知每一位的进制,求该数的十进制表达. 显然有 $$Ans=\sum\limits_{i=0}^{n-1}a_i \prod\limits_{j=0}^{i-1}bas ...

  5. The Moronic Cowmpouter(负进位制转换)

    http://poj.org/problem?id=3191 题意:将一个整型的十进制整数转化为-2进制整数. #include <stdio.h> #include <algori ...

  6. poj3191(负进位制)

    题目链接:https://vjudge.net/problem/POJ-3191 题意:将一个int范围的整数用-2进制表示并输出. 思路:将十进制转换成-2进制,原理也类似于短除法.但不同的是不是简 ...

  7. 高精度进位制转换,Poj&lpar;1220&rpar;

    转自ACdream. #include <stdio.h> #include <string.h> #include <stdlib.h> #define MAXS ...

  8. (2016北京集训十)【xsy1529】小Q与进位制 - 分治FFT

    题意很简单,就是求这个数... 其实场上我想出了分治fft的正解...然而不会打...然后打了个暴力fft挂了... 没啥好讲的,这题很恶心,卡常卡精度还爆int,要各种优化,有些dalao写的很复杂 ...

  9. 【搬砖】安卓入门(2)- Java开发编程基础--进制转换和运算符

    02.01_Java语言基础(常量的概述和使用)(掌握) A:什么是常量 在程序执行的过程中其值不可以发生改变 B:Java中常量的分类 字面值常量 自定义常量(面向对象部分讲) C:字面值常量的分类 ...

随机推荐

  1. 怎样操作WebAPI接口&lpar;显示数据&rpar;

    就在去年Insus.NET已经写好的一个WebAPI项目,并且发布在IIS中.参考<创建与使用Web API>http://www.cnblogs.com/insus/p/5019088. ...

  2. mac vim 使用

    再使用Mac编辑文件时感觉非常不爽,没有语法高亮,只能通过设置改变所有字体为同一个颜色,看起来还是别扭, 于是找到方法使用vim时可以实现语法高亮显示,操作步骤如下: 1.进入/usr/share/v ...

  3. python3加密解密模块 cryptography

    cryptography 的目标是成为"人类易于使用的密码学包cryptography for humans",就像 requests 是"人类易于使用的 HTTP 库H ...

  4. Chapter 5 Blood Type——24

    "She's just a little faint," he reassured the startled nurse. "They're blood typing i ...

  5. spring-petclinic性能调优实战(转)

    1.spring-petclinic介绍 spring-petclinic是spring官方做的一个宠物商店,结合了spring和其他一些框架的最佳实践. 架构如下: 1)前端 Thymeleaf做H ...

  6. mybatis自动生成mapper和pojo

    1.在resources下新建generatorConfig.xml <?xml version="1.0" encoding="UTF-8"?> ...

  7. RSA&sol;SHA1加密和数字签名算法在开放平台中的应用

    加密算法 加密算法分为两大类:1.对称加密算法:2.非对称加密算法.   密钥个数 加密 解密 对称加密 一个 使用密钥加密 使用同一个密钥解密 非对称加密 两个,公钥和私钥 使用其中一把密钥加密 使 ...

  8. Idea创建简单Java Web项目并部署Servlet

    1.打开Idea,创建JAVA Web项目 在WEB-INF目录下创建classes和lib文件夹 配置编译输出路径为刚才新建的classes文件夹 配置依赖jar包加载路径 添加tomcat ser ...

  9. 前后端分离开发之前端自己的API(DB)---- (1)

    Creating demo APIs for Front-End Developer 心理准备 Tool-1 开发工具/编辑器:Visual Studio Code , 即 VSCode官网: htt ...

  10. npm install mysql --save-dev

    npm install X: 会把X包安装到node_modules目录中 不会修改package.json 之后运行npm install命令时,不会自动安装X npm install X –sav ...