问题描述:

12枚硬币,其中11枚真币1枚假币,现有一架天平,最少称多少次可以找出这枚假币并且知道假币和真币的相对重量。

答案是三次,称重过程描述如下

第一步:分组,分三组,1 2 3 4为一组,5 6 7 8为一组,9 10 11 12为一组。
第二步,称重。

第一种情况
第一次称重:用1 2 3 4 和 5 6 7 8 称重,如果1 2 3 4=4 5 7 8,那么假币就在9 10 11 12这一组里面,接下来的任务就是在9 10 11 12这一组里面找到假币。第二次称重,用三枚真币(一般选择1 2 3)与9 10 11称重,如果1 2 3=8 9 10,那么12就是假币,但是不能确定假币的轻重。第三次称重,用一枚真币(一般选择1)与12称重,如果1>12,那么假币12为轻,如果1<12,那么假币12为重。
逻辑表达式:

  1. 1 2 3 4=5 6 7 8
  2. 1 2 3=8 9 10
  3. 1>12或者1<12

第二种情况
第一次称重:用1 2 3 4 和 5 6 7 8 称重,如果1 2 3 4=4 5 7 8,那么假币就在9 10 11 12这一组里面,接下来的任务就是在9 10 11 12这一组里面找到假币。第二次称重,用三枚真币(一般选择1 2 3)与9 10 11称重,如果1 2 3<9 10 11,那么假币就在9 10 11之间,但是且假币较重。第三次称重,如果9>10,那么假币为9,如果9<10,那么假币为10,如果9=10,那么假币为11。
逻辑表达式:

  1. 1 2 3 4=5 6 7 8
  2. 1 2 3<9 10 11
  3. 9>10或者9<10或者9=10

第三种情况
第一次称重:用1 2 3 4 和 5 6 7 8 称重,如果1 2 3 4=4 5 7 8,那么假币就在9 10 11 12这一组里面,接下来的任务就是在9 10 11 12这一组里面找到假币。第二次称重,用三枚真币(一般选择1 2 3)与9 10 11称重,如果1 2 3>9 10 11,那么假币就在9 10 11之间,但是且假币较轻。第三次称重,如果9>10,那么假币为10,如果9<10,那么假币为9,如果9=10,那么假币为10。
逻辑表达式:

  1. 1 2 3 4=5 6 7 8
  2. 1 2 3>9 10 11
  3. 9>10或者9<10或者9=10

第四种情况
第一次称重:用1 2 3 4 和 5 6 7 8 称重,如果1 2 3 4>5 6 7 8,那么可以确定9 10 11 12这四枚硬币是真币,接下来的任务就是在1 2 3 4 5 6 7 8这8枚硬币中找到假币。第二次称重,用1 2 3 5与4 9 10 11称重,如果1 2 3 5=4 9 10 11,那么可以确定假币在6 7 8中,且假币较轻。第三次称重,用6和7称重,如果6=7,那么8为假币,如果6>7,那么7为假币,如果6<7,那么6为假币。
逻辑表达式:

  1. 1 2 3 4>5 6 7 8
  2. 1 2 3 5=4 9 10 11
  3. 6>7或者6<7或者6=7

第五种情况
第一次称重:用1 2 3 4 和 5 6 7 8 称重,如果1 2 3 4>5 6 7 8,那么可以确定9 10 11 12这四枚硬币是真币,接下来的任务就是在1 2 3 4 5 6 7 8这8枚硬币中找到假币。第二次称重,用1 2 3 5与4 9 10 11称重,如果1 2 3 5>4 9 10 11,那么可以确定假币在1 2 3中(这里可以用假设法,假设4为假币,那么4就应该是轻的假币,这与1 2 3 4>5 6 7 8相矛盾,所以4为正币,4为正币,那么假币就在1 2 3 5之间,假设5为假币,那么5就应该是重的假币,这与1 2 3 4>5 6 7 8相矛盾,所以5为正币),且假币较重。第三次称重,用1和2称重,如果1=2,那么3为假币,如果1>2,那么1为假币,如果1<2,那么2为假币。
逻辑表达式:

  1. 1 2 3 4>5 6 7 8
  2. 1 2 3 5>4 9 10 11
  3. 1>2或者1<2或者1=2

第6种情况
第一次称重:用1 2 3 4 和 5 6 7 8 称重,如果1 2 3 4>5 6 7 8,那么可以确定9 10 11 12这四枚硬币是真币,接下来的任务就是在1 2 3 4 5 6 7 8这8枚硬币中找到假币。第二次称重,用1 2 3 5与4 9 10 11称重,如果1 2 3 5<4 9 10 11,那么可以确定假币在4 5中,但是不知道假币的轻重(因为 6 7 8 和 9 10 11 都是真币可以互换 不等式变为 1 2 3 5 < 4 6 7 8由1 2 3 4 > 5 6 7 8 知道数字4 5 互换后改变了不等式的方向 可以得到假币在 4 5 中 其他都是真币)。第三次称重,用1和4称重,如果1=4,那么5为假币且轻,如果4>1,那么4为假币且重。
逻辑表达式:

  1. 1 2 3 4>5 6 7 8
  2. 1 2 3 5<4 9 10 11
  3. 1<4或者1=4

12枚硬币称重问题(面试)相关推荐

  1. 现在有12枚硬币,其中有一枚有问题,不知道其是重了还是轻了,只有一个天平,可以测量三次,找出有问题的硬币。

    现在有12枚硬币,其中有一枚有问题,不知道其是重了还是轻了,只有一个天平,可以测量三次,找出有问题的硬币. 关于这个题,看了一下网上的资料,感觉答案不全或是不够好,写了一个Xmind,可能看起来好理解 ...

  2. 信息熵--硬币称重问题-详解

    在补<信息熵基础>,此书理论清晰,后面还有一堆要命的习题,加深理解和应用,实乃佳作.其中一些题目对我来说确实不易,记录巩固一下,也和大家交流一下. 顺便补一下,一份完整的参考资料或者书籍, ...

  3. 12枚硬币中取1枚假币的问题

    题目描述 12个硬币中存在一个假币,不知是比真币重还是轻.现有一个天秤,要求称3次找出假币,并知其比真币重还是轻. 题解 首先将12枚硬币分3组编号分别为Ⅰ(1.2.3.4).Ⅱ(5.6.7.8).Ⅲ ...

  4. 1366 xth 的第 12 枚硬币

    1366 xth 的第 12 枚硬币  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond 题解 题目描述  Description 传说 xth 曾经拥有11 ...

  5. 12个乒乓球称重问题

    问题: 有12个乒乓球,其中有一个次品,不知道轻重,用一台无砝码天平称三次,找出次品并告知轻重,怎么称? 解答: 先分3组,每组4个,随便拿两组来称第一次: 情况1:天平平衡, 则在剩下的4个球里,从 ...

  6. 【面试题目】你有12个硬币,其中有一个的重量与其他的不一样,有三次使用测量平衡的机会来找出重量不同的那个。该怎么做呢?

    你有12个硬币,其中有一个的重量与其他的不一样,有三次使用测量平衡的机会来找出重量不同的那个.该怎么做呢? 解:不妨将12枚硬币编号1~12.将硬币分为三组A:1.2.3.4 B:5.6.7.8 C: ...

  7. 27枚硬币,找出较重的一个-Python

    称硬币问题-Python: 一. 问题描述 现在有27枚硬币,其中有一枚假币,假币跟真币长得一摸一样,但是稍微重一些.摆在桌上有一个称重天平,要求用最小的次数找出假币,并写出算法代码. 二. 解题思路 ...

  8. matlab最小字典序,12小球称重问题 完美解决方案(转自 skywind.name)

    网上 有好几种 解决方案,skywind.name上的这个最棒, 赞一下! 可惜 偶 苦思冥想 3 个小时,思路换了3.4种,也没找到完美解决方案. 以下 是 转自 skywind.name 12个小 ...

  9. n枚硬币找出假币问题(包含一枚假币)

    问题描述: 在n枚外观相同的硬币中,有一枚是假币,并且已知假币与真币的重量不同,但不知道假币与真币相比较轻还是较重.可以通过一架天平来任意比较两组硬币,设计一个高效的算法来检测这枚假币(以下提供两种方 ...

最新文章

  1. python自动翻译小工具_Python实现翻译小工具
  2. SpringMVC上传文件
  3. 利用浏览器LocalStorage缓存图片,视频文件
  4. vagrant 简单使用
  5. 解决jQuery聚焦时光标在input最前面的问题
  6. 3-6Tensor的属性稀疏的变量的编程
  7. Spring Bean的循环依赖解决方案
  8. mysql自增函数_mysql实现自增函数
  9. VS2017好用的插件推荐
  10. 数据库原理 第四章作业
  11. bugku reverse file writeup
  12. 【Git】回退单个文件到指定版本
  13. JDBC连接Mysql并统计指定关键词在某一列中出现的次数
  14. ENVI入门之不同影像镶嵌之后颜色不一样的色差问题
  15. 黑马程序员--IDEA版本2018Java基础班+就业班大牛编程吧
  16. CUMT学习日记——Verilog课程学习全记录
  17. eclipse远程调试Tomcat, Hadoop集群等
  18. C#/VB.NET语法的比较
  19. 蓝牙模块HC05与HC06的连接
  20. 哈密顿回路回溯法C\C++

热门文章

  1. 滴滴网约车抽成高达25%还“入不敷出”,为哪般?
  2. html设计动画小黄人,纯CSS3画出小黄人并实现动画效果_html/css_WEB-ITnose
  3. 循环彩灯定时器C语言,PLC基本指令及应用,学会控制彩灯,并循环往复工作
  4. cfa英语不好的怎么学_英文不好考CFA难度大吗?
  5. Git 错误 Unable to create 'E:/xxx/.git/index.lock': File exists.的解决办法
  6. 【UEFI基础】BIOS学习路线图
  7. 《怪诞行为学》精粹(一)--为什么我们喜欢比较和攀比
  8. C++ 10 翁恺> 继承
  9. Linux下大容量存储,第 2 章 USB Mass Storage大容量存储的基本知识
  10. Android适配--最详细的限定符屏幕适配方案解析 附带values-Dimens文件生成工具