12个球一个天平,现知道只有一个和其它的重量不同,问怎样称才能用三次就找到那个球
作者:大鹏 发布于:2011-7-15 16:14 Friday
分类:考试相关
标签: 算法
1,天平一边放四个,平则坏球在余下的四个里,好办。 不平,先将偏重的四个编号为:1、2、3、4。偏轻的编为A、B、C、D(因为不知道轻重)。
2。天平一边放三个,比如:左边放1、2、A。右边放3、4、B。 平则坏球是C、D 里偏轻的,不平则根据轻重淘汰1、2、B或 3、4、A
二、用无码天平称乒乓球的重量,每称一次会有几种结果?有三种不同的结果,即左边的重量重于、轻于或者等于右边的重量,为了做到 称三次就能把这个不合格的乒乓球找出来,必须把球分成三组(各为四只球)。现在,我们为了解题的方便,把这三组乒乓球分别编号为 A组、B组、C组。
首先,选任意的两组球放在天平上称。例如,我们把A、B两组放在天平上称。这就会出现两种情况:
第一种情况,天平两边平衡。那么,不合格的坏球必在c组之中。
其次,从c组中任意取出两个球 (例如C1、C2)来,分别放在左右两个盘上,称第二次。这时,又可能出现两种情况:
1·天平两边平衡。这样,坏球必在C3、C4中。这是因为,在12个乒乓球中,只有一个是不合格的坏球。只有C1、C2中有一个是坏球时,天平两边才不平衡。既然天平两边平衡了,可见,C1、C2都是合格的好球。
称第三次的时候,可以从C3、C4中任意取出一个球(例如C3), 同另一个合格的好球(例如C1)分别放在天平的两边,就可以推出结果。这时候可能有两种结果:如果天平两边平衡,那么,坏球必是C4;如果天平两边不平衡,那么,坏球必是C3。
2·天平两边不平衡。这样,坏球必在C1、C2中。这是因为,只有C1、C2中有一个是坏球时,天平两边才不能平衡。这是称第二次。
称第三次的时候,可以从C1、C2中任意取出一个球(例如C1), 同另外一个合格的好球(例如C3),分别放在天平的两边,就可以推出结果。道理同上。
以上是第一次称之后出现第一种情况的分析。
第二种情况,第一次称过后天平两边不平衡。这说明,c组肯定都是合格的好球,而不合格的坏球必在A组或B组之中。
我们假设:A组 (有A1、A2、A3、A4四球)重,B组(有B1、B2、B3、B4四球)轻。这时候,需要将重盘中的A1取出放在一旁,将A2、A3取出放在轻盘中,A4仍留在重盘中。同时,再将轻盘中的B1、 B4取出放在一旁,将B2取出放在重盘中,B3仍留在轻盘中,另取一个标准球C1也放在重盘中。经过这样的交换之后,每盘中各有三个球: 原来的重盘中,现在放的是A4、B2、C1,原来的轻盘中,现在放的是A2、A3、B3。
这时,可以称第二次了。这次称后可能出现的是三种情况:
1·天平两边平衡。这说明A4B2C1=A2A3B3,亦即说明,这六只是好球,这样,坏球必在盘外的A1或B1或B4之中。已知A盘重于B盘。所以,A1或是好球,或是重于好球;而B1、B4或是好球,或是轻于好球。
这时候,可以把B1、B4各放在天平的一端,称第三次。这时也可能出现三种情况:(一)如果天平两边平衡,可推知A1是不合格的坏球,这是因为12只球只有一只坏球,既然B1和B4重量相同,可见这两只球是好球,而A1为坏球;(二)B1比B4轻,则B1是坏球;(三) B4比B1轻,则B4是坏球,这是因为B1和B4或是好球,或是轻于好球,所以第三次称实则是在两个轻球中比一比哪一个更轻,更轻的必是坏 球。
2·放着A4、B2、C1的盘子(原来放A组)比放A2、A3、B3的盘子(原来放B组)重。在这种情况下,则坏球必在未经交换的A4或B3之中。这是因为已交换的B2、A2、A3个球并未影响轻重,可见这三只球都是好球。
以上说明A4或B3这其中有一个是坏球。这时候,只需要取A4或B3同标准球C1比较就行了。例如,取A4放在天平的一端,取C1放在天平的另一端。这时称第三次。如果天平两边平衡,那么B3是坏球; 如果天平不平,那么A4就是坏球 (这时A4重于C1)。
3.放A4、B2、C1的盘子(原来放A组)比放在A2、A3、B3的盘 子(原来放B组)轻。在这种情况下,坏球必在刚才交换过的A2、A3、B23球之中。这是因为,如果A2、A3、B2都是好球,那么坏球必在A4或B3之中,如果A4或B3是坏球,那么放A4、B2、C1的盘子一定 重于放A2、A3、B3的盘子,现在的情况恰好相反,所以,并不是A2、A3、B2都是好球。
以上说明A2、A3、B2中有一个是坏球。这时候,只需将A2同A3相比,称第三次,即推出哪一个是坏球。把A2和A3各放在天平的一端 称第三次,可能出现三种情况:(一)天平两边乎衡,这可推知B2是坏球;(二)A2重于A3,可推知A2是坏球;(三)A3重于A2,可推知A3是坏球。
根据称第一次之后,出现的A组与B组轻重不同的情况,我们刚才假设A组重于B组,并作了以上的分析,说明在这种情况下如何推论哪一个球是坏球。如果我们现在假定出现的情况是A组轻于B组,过程是一样的。
算法复杂度计算
作者:大鹏 发布于:2011-7-11 15:40 Monday
分类:考试相关
标签: 算法
⑴ 找出算法中的基本语句;
算法中执行次数最多的那条语句就是基本语句,通常是最内层循环的循环体。
⑵ 计算基本语句的执行次数的数量级;
只需计算基本语句执行次数的数量级,这就意味着只要保证基本语句执行次数的函数中的最高次幂正确即可,可以忽略所有低次幂和最高次幂的系数。这样能够简化算法分析,并且使注意力集中在最重要的一点上:增长率。
⑶ 用大Ο记号表示算法的时间性能。
将基本语句执行次数的数量级放入大Ο记号中。
如果算法中包含嵌套的循环,则基本语句通常是最内层的循环体,如果算法中包含并列的循环,则将并列循环的时间复杂度相加。例如:
Access与sql server的语法区别
作者:大鹏 发布于:2008-11-16 22:37 Sunday
分类:考试相关
标签: mssql-2005 sqlserver2005
号 | 简述 | Access语法 | SqlServer语法 | Oracle语法 | DB2语法 | 解决方案
01 | 系统时间 | Date() | GETDATE() | SYSDATE | GetSysTimeStr
02 | 连接字符串 | & | + | || | + | GetConcatStr
03 | 截取字符串 | SubString | SubStr | SubString | SubString | GetSubStr
04 | 小写字符串 | LCase | Lower | Lower | Lower | GetLowerStr
05 | 大写字符串 | UCase | Upper | Upper | Upper | GetUpperStr
06 | 查找字符串 | InStr | InStr | CharIndex | InStr | GetFindStr
07 | 替换空值 | IIF+IsNull | Coalesce | Nvl | Coalesce | GetNullStr
08 | 条件取值 | IIF | Case+When+Else | DeCode或Case | IIF | GetCaseStr
09 | 字段类型转换 | Str、var、…. | Convert或cast | To_Char,To_Number. | GetConvertStr | GetConvertStr
10 | 日期字符串 |‘2004-10-9' | #2004-10-19# | ‘2004-10-9' | | GetDateStr
11 | 最大值加1 | | | | | GetNextNumStr
12 | Like语句函数 | Like ‘101* | Like ‘101%' | Like ‘101%' | | GetLikeStr
[/code]
SQL技巧(根据年龄段统计人数)
作者:大鹏 发布于:2008-11-16 22:34 Sunday
分类:考试相关
标签: mssql-2005 sqlserver2005
统计不同年龄段的人数,Oracle中可以使用decode函数来完成,但在SqlServer中只能使用Case When Then 了
[code]select
sum(decode(sign(age - 20),-1,1,0)),
sum(decode(sign(age - 20),-1,0,(decode(sign(age - 30),-1,1,0)))),
sum(decode(sign(age - 30),-1,0,(decode(sign(age - 40),-1,1,0)))),
sum(decode(sign(age - 40),-1,0,(decode(sign(age - 50),-1,1,0)))),
sum(decode(sign(age - 50),-1,0,1))
from xxx; [/code]
关于工作流
作者:大鹏 发布于:2007-11-22 11:49 Thursday
分类:考试相关
标签: 求职
工作流:两个或两个以上的人,为了共同的目标,连续的以串行或并行的方式去完成某一业务。
业务:工作流所指业务涵盖了与经营相关的活动。
串行或并行:业务中的步骤也许以一步接着一步的方式进行,我们称之为串行;或者由不同的人或组合根据不同的情况处理,我们称之为并行。
两个或两个以上的人:如工作流的名称所表达的含义,一个人处理的业务不称其为工作流, 只有任务从一个人"流"向另一个人的时候,才有工作流。
用C语言获取当前系统时间
作者:大鹏 发布于:2007-7-25 17:44 Wednesday
分类:考试相关
标签: 数据结构 算法
printf ( "%4d-%02d-%02d %02d:%02d:%02d\n",1900+timeinfo->tm_year, 1+timeinfo->tm_mon,
timeinfo->tm_mday,timeinfo->tm_hour,timeinfo->tm_min,timeinfo->tm_sec);
就是直接打印tm,tm_year 从1900年计算,所以要加1900,
月tm_mon,从0计算,所以要加1
经典的汉诺塔递归
作者:大鹏 发布于:2007-7-25 10:20 Wednesday
分类:考试相关
标签: java 数据结构 算法 c#
后来,这个传说就演变为汉诺塔游戏:
[转载]《WCF之旅》系列
作者:大鹏 发布于:2007-2-11 11:28 Sunday
分类:考试相关
标签: 免费资源 收藏
前言:WCF是微软基于SOA(Service Oriented Architecture)推出的.Net平台下的框架产品,它代表了软件架构设计与开发的一种发展方向,在微软的战略计划中也占有非常重要的地位。了解和掌握WCF,对于程序员特别是基于微软产品开发的程序员而言,是非常有必要的。对于WCF,笔者也是初窥门径,抱着学习的态度作这样的一个介绍。文中的内容主要参考了微软官方的文档、资料,以及众多介绍WCF的技术资料。这些资料主要都是英文,不便于国内程序员学习WCF。虽然本人才疏学浅,却愿意作这样的介绍者。由于自己仅是一个初学者,英文的功底也不够深厚,所以文中难免会有疏漏之处。同时,我也希望在文中尽量表达出自己的一些心得与见解,这就不免增加了出现错误的可能性。此外,由于WCF至今仍未有正式的版本,文中相关的技术描述以及代码会根据版本的不同而发生变化,所以我也只能尽量对此给与一定的说明。本文会是多篇文章拼凑在一起的系列,说是系列,但并没有严格的渐进关系,只是整体上希望能有一个相对全面的WCF入门介绍。此外,笔者也希望能通过此文抛砖引玉,这样也能让我的WCF学习之旅更轻松一点。
[转载]《Windows Communication Foundation之旅》系列之四
作者:大鹏 发布于:2007-2-11 11:27 Sunday
分类:考试相关
标签: 免费资源 收藏
六、定义DataContract
我在介绍如何定义一个ServiceContract时,举了这样的一个例子,代码如下:
[转载]《Windows Communication Foundation之旅》系列之三
作者:大鹏 发布于:2007-2-11 11:21 Sunday
分类:考试相关
标签: 免费资源 收藏
四、Service Contract编程模型
在Part Two中,我以“Hello World”为例讲解了如何定义一个Service。其核心就是为接口或类施加ServiceContractAttribute,为方法施加OperationContractAttribute。在Service的方法中,可以接受多个参数,也可以有返回类型,只要这些数据类型能够被序列化。这样一种方式通常被称为本地对象,远程过程调用(local-object, Remoting-Procedure-Call)方式,它非常利于开发人员快速地进行Service的开发。
[转载]《Windows Communication Foundation之旅》系列之二
作者:大鹏 发布于:2007-2-11 11:15 Sunday
分类:考试相关
标签: 免费资源 收藏
三、WCF的技术要素
作为基于SOA(Service Oriented Architecture)的一个框架产品,WCF最重要的就是能够快捷的创建一个服务(Service)。如下图所示,一个WCF Service由下面三部分构成:
[转载]《Windows Communication Foundation之旅》系列之一
作者:大鹏 发布于:2007-2-11 10:45 Sunday
分类:考试相关
标签: 免费资源 收藏
前言:[i]WCF是微软基于SOA(Service Oriented Architecture)推出的.Net平台下的框架产品,它代表了软件架构设计与开发的一种发展方向,在微软的战略计划中也占有非常重要的地位。了解和掌握WCF,对于程序员特别是基于微软产品开发的程序员而言,是非常有必要的。对于WCF,笔者也是初窥门径,抱着学习的态度作这样的一个介绍。文中的内容主要参考了微软官方的文档、资料,以及众多介绍WCF的技术资料。这些资料主要都是英文,不便于国内程序员学习WCF。虽然本人才疏学浅,却愿意作这样的介绍者。由于自己仅是一个初学者,英文的功底也不够深厚,所以文中难免会有疏漏之处。同时,我也希望在文中尽量表达出自己的一些心得与见解,这就不免增加了出现错误的可能性。此外,由于WCF至今仍未有正式的版本,文中相关的技术描述以及代码会根据版本的不同而发生变化,所以我也只能尽量对此给与一定的说明。本文会是多篇文章拼凑在一起的系列,说是系列,但并没有严格的渐进关系,只是整体上希望能有一个相对全面的WCF入门介绍。此外,笔者也希望能通过此文抛砖引玉,这样也能让我的WCF学习之旅更轻松一点。[/i]
考研英语名词及固定搭配
作者:大鹏 发布于:2006-12-15 11:32 Friday
分类:考试相关
标签: 考研 英语
1.介词+名词
by accident 偶然
on account of 因为,由于,为了……的缘故
in addition to 另外,加之
in addition 除…之外(还)
in the air 流传中
on (the/an) average 按平均值,通常
on the basis of 根据,在…的基础上
at best 充其量,至多
考研政治--马克思主义哲学重要名词解释
作者:大鹏 发布于:2006-12-13 11:29 Wednesday
分类:考试相关
标签: 免费资源 政治 考研
2. 世界观:对人与世界关系的根本看法、根本观点。
3. 方法论:认识世界和改造世界的根本方法。方法论与世界观是统一的,有什么样的世界观就有什么样的方法论。
4. 哲学基本问题:存在和思维、物质和意识的关系问题。哲学基本问题有两个方面,第一个方面是思维和存在谁是第一性的问题,这是划分唯物主义和唯心主义哲学派别的依据;第二方面是思维和存在有无同一性的问题,是划分可知论和不可知论的依据。
5. 唯物主义:在哲学基本问题上,主张物质第一性、意识第二性的哲学派别。唯物主义有三种历史形态:古代朴素唯物主义、近代机械唯物主义、现代辩证唯物主义。
Java认证经典模拟题(only for trainning)
作者:大鹏 发布于:2006-11-11 0:35 Saturday
分类:考试相关
标签: java
一. 真实考试说明
1.考试形式:网络计算机
2.考题形式:多选,单选,简答
3.题量:60
4.考试时间:120分钟
5.更新考试记忆或其它认证知识请登陆www.javaunion.org
6.本模拟题相对经典陈旧,是北京网畅创总裁胡德平1997SCJP模拟版本地扩充
二.模拟题
今天下午考的软件设计师的一道Java题
作者:大鹏 发布于:2006-11-4 20:13 Saturday
分类:考试相关
标签: java 算法
代码:
软件设计师介绍
作者:大鹏 发布于:2006-10-31 23:07 Tuesday
分类:考试相关
标签: 收藏
DES算法
作者:大鹏 发布于:2006-9-24 11:29 Sunday
分类:考试相关
标签: 算法
[color=#003399][b]1 简介[/b][/color]
DES是Data Encryption Standard(数据加密标准)的缩写。它是由IBM公司研制的一种加密算法,美国国家标准局于1977年公布把它作为非机要部门使用的数据加密标准,二十年来,它一直活跃在国际保密通信的舞台上,扮演了十分重要的角色[10]。
DES是一个分组加密算法,他以64位为分组对数据加密。同时DES也是一个对称算法:加密和解密用的是同一个算法。它的密匙长度是56位(因为每个第8位都用作奇偶校验),密匙可以是任意的56位的数,而且可以任意时候改变。其中有极少量的数被认为是弱密匙,但是很容易避开他们。所以保密性依赖于密钥。
C语言-数据结构算法-快速排序、插入排序和选择排序
作者:大鹏 发布于:2006-9-23 18:39 Saturday
分类:考试相关
标签: 数据结构 算法
排序基本算法思想:通过一次分割,将无序序列分成两部分,其中前一部分的元
素值均不大于后一部分的元素值。然后对每一部分利用同样的方法进行分割,这
个过程一直做到每一个子序列的长度小于某个值m为止。
对序列p的分割过程: 首先,在序列的第一个、中间一个及最后一个元素中
选取中项,得p(k),然后设置两个指针i和j分别指向序列的起始和最后的位置.