分盐问题

来源:互联网 发布:遗传算法 量化交易 编辑:程序博客网 时间:2024/04/30 15:54

方法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), 问题解决*/


0 0
原创粉丝点击