分盐问题
2015-10-19 21:35
211 查看
方法1
/** 题目 : 分盐问题 有7克,2克的砝码各一个, 天平一只. 如何只用这些物品3次将140克的盐,分成50,90克各一份 */ /** 这道题我刷题时,作错了, 现在也没有自主答案. 从网上找了一份别人的答案学习一下. */ /** 这道题用了2分法. 设总盐数为TMP0, TMP0 = 140g 第1次使用天平: 不使用砝码, 只使用天平, 将TMP0在天平上分为70g的两堆, 将一堆放到试纸上, 命名为A, A = 70g 天平上剩下的一堆为 TMP1, TMP1 = 70g 第2次使用天平: 不使用砝码, 只使用天平, 将TMP1在天平上分为35g的两堆, 将一堆放到试纸上, 命名为B, B = 35g 天平上剩下的一堆为 TMP2, TMP2 = 35g 第3次使用天平: 将(TMP2 + A)和在一起(共105g), 左边托盘放7g, 右边托盘放2g, 使天平平衡. 105 + 7 - left = 2 + right; ///< 平衡之前的状态 平衡后, 要满足下列两个等式 * 7 + left = 2 + right * left + right = 105; 所以 left = 50, right = 55; 此时, 托盘左边的盐为 left = 50g, 剩下盐的总合为(140 - 50 = 90g), 问题解决 */
方法2
/** 题目 : 分盐问题 有7克,2克的砝码各一个, 天平一只. 如何只用这些物品3次将140克的盐,分成50,90克各一份 */ /** 这道题我刷题时,作错了, 现在也没有自主答案. 同学想出了另外一种的3步完成任务的方法. */ /** 这道题用了2分法. 设总盐数为TMP0, TMP0 = 140g 第1次使用天平: 不使用砝码, 将TMP0在天平上分为70g的两堆, 左边的盐堆命名为A, A = 70g 右边的盐堆命名为B, B = 70g 第2次使用天平: 在A堆上放9g砝码(7g + 2g), 从A堆中取出9g盐,放到试纸上备用,标记为C, C = 9g. 此时, 天平平衡了. 左边的盐为61g, 右边的盐为70g 右边的70g盐标记为D, 将D放到试纸上备用. 第3次使用天平: 此时左边为61g盐, 右边是空的. 在右侧放上C和2g的砝码, 此时右边重量为11g. 将左边托盘的盐取出,直到天平平衡. 从左边托盘取出的盐共50g, 标记为E 此时, E = 50g, 剩下盐的总合为(140 - 50 = 90g), 问题解决 */
相关文章推荐
- 截屏实现
- ImageView属性动画--背景缓缓移动
- 四校联训Round6心得体会
- unix的5种I/O
- thinkphp模型
- ural 1223. Chernobyl’ Eagle on a Roof
- 数字证书应用改造需求调研-2015-10-19
- jmp address windows hook
- 进程的组织
- 关于R中的mode()和class()的区别
- sublime mac osx 命令行打开
- cookie模拟
- 5-17 爬动的蠕虫
- 利用树的先序和后序遍历打印os中的目录树
- 独立集-最长上升子序列的延伸
- [20151017]SCZ训练
- unity平台的预处理
- 5. window.location.href/replace/reload()--页面跳转+替换+刷新
- copy_process
- 5-16 求符合给定条件的整数集