首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和C代码,回答以下问题,将解答写在答题纸的对应栏内。 【说明】 假币问题:有n枚硬币,其中有一枚是假币,已知假币的重量较轻。现只有一个天平,要求用尽量少的比较次数找出这枚假币。 【分析问题】 将n枚硬币分成相等的两部分: (1)当n为偶数时,将
阅读下列说明和C代码,回答以下问题,将解答写在答题纸的对应栏内。 【说明】 假币问题:有n枚硬币,其中有一枚是假币,已知假币的重量较轻。现只有一个天平,要求用尽量少的比较次数找出这枚假币。 【分析问题】 将n枚硬币分成相等的两部分: (1)当n为偶数时,将
admin
2018-09-03
37
问题
阅读下列说明和C代码,回答以下问题,将解答写在答题纸的对应栏内。
【说明】
假币问题:有n枚硬币,其中有一枚是假币,已知假币的重量较轻。现只有一个天平,要求用尽量少的比较次数找出这枚假币。
【分析问题】
将n枚硬币分成相等的两部分:
(1)当n为偶数时,将前后两部分,即1…n/2和,n/2+1…0,放在天平的两端,较轻的一端里有假币,继续在较轻的这部分硬币中用同样的方法找出假币:
(2)当n为奇数时,将前后两部分,即1…(n-1)/2和(n+1)/2+1…0,放在天平的两端,较轻的一端里有假币,继续在较轻的这部分硬币中用同样的方法找出假币;若两端重量相等,则中间的硬币,即第(n+1)/2枚硬币是假币。
【C代码】
下面是算法的C语言实现,其中:
coins[]:硬币数组
first,last:当前考虑的硬币数组中的第一个和最后一个下标
#include<stdio.h>
int getCounterfeitCoin(int coins[],int first,int last)
{
int firstSum=0,lastSum=0;
inti;
If(first==last-1)(/*只剩两枚硬币*/
if(coins[first]<coins[last])
return first;
return last,
}
if((last-first+1)%2==0)(/*偶数枚硬币*/
for(i=first,i<(1);i++){
firstSum+=coins
,
}
for(i=first+(last-first)/2+1;i<last+1,i++){
lastSum+=coins
,
}
if(2){
Return getCounterfeitCoin(coins,first,first+(last-first)/2;)
}else{
Return getCounterfeitCoin(coins,first+(last-first)/2+1,last,)
}
}
else{/*奇数枚硬币*/
For(i=first;i<first+(last-first)/2;i++){
firstSum+=coins
;
}
For(i=first+(last-first)/2+1;i<last+1;i++){
lastSum+=coins
;
}
If(firstSum<lastSum){
return getCounterfeitCoin(coins,first,first+(last-first)/2-1);
}else if(firstSum>lastSum){
return getCounterfeitCoin(coins,first+(last-first)/2-1,last);
}else{
Return(3)
}
}
}
根据题干说明和c代码,算法采用了( )设计策略。
函数getCounterfeitCoin的时间复杂度为( )(用O表示)。
选项
答案
分治法、O(nlogn)
解析
转载请注明原文地址:https://www.kaotiyun.com/show/qzxZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
由于面向3G移动电话的电子商务网站看不到用户进行销售服务,因此,对用户身份进行认证是必要。通常,在Internet中进行电子签名的认证过程如下:①文件的发送者将要发送的文件生成(1);②用发送者的(2)对摘要加密后,将其添加到文件中;
双绞线可以制作成直连线和交叉线两种形式,在图3-12所示的拓扑结构中,交换机与路由器(Router)相连的双绞线应制作成什么形式?阅读以下的配置信息,将(1)、(2)空缺处的内容填写完整,以实现图3-12所示的拓扑结构图中交换机主干道的相关配置。
阅读以下说明,回答问题1、问题2、问题3和问题4,将解答填入对应栏内。[说明]某公司想建立一个Intranet,建立FTP服务器、DNS服务器、Email服务器、Web服务器和内部业务服务器,同时其他部门的工作人员也要联网,要求这些机器有的
阅读以下说明,回答问题1、问题2、问题3、问题4和问题5,将解答填入对应栏内。[说明]CableModem可以作为一个网桥直接与用户相连,也可以作为一个路由器与Hub相连,从经济角度考虑,目前采用后一种方式居多。有一种HFC网络如图6-2
根据本题所说明的需求示意图,如图3所示,回答问题。某校园中,有A、B、C、D、E、F和C类就用,其中应用C属于中央校区局域网,应用E和F属于北校区局域网,南校区局域网则有应用B和C两类应用,而A和D包括本校园网的全部应用。现已完成部分需求示意图的工作。
X.25规范对应OSI参考模型中的3层,X.25的第3层描述了分组的格式及分组交换的过程。X.25的第2层由LAPB(LinkAccessProcedure,Balanced)实现,它定义了用于DTE/DCE连接的帧格式。X.25的第1层定义了电气和
阅读以下说明和Java程序代码,将应填入(n)处的字句写在对应栏内。SMTP是发送E-mail的协议,常用以下5条命令发送E-mail:HELO,与SMTP服务器握手,传送本机域名;MAILFROM:,传送发信者的信箱名称;RCP
简述网络规划阶段需求分析的方法和解决的问题(控制在100个字以内)。在需求分析过程中应对已有网络的现状及运行情况作调研,如果要在已有的网络上作新的网络建设规划,如何保护用户已有投资(控制在100个字以内)?
阅读以下说明,回答问题1~4,将答案填入对应的解答栏内。某公司申请了一个C类地址210.45.12.0,公司的域名为xyz.com.cn,域名服务器地址为210.45.12.50。公司有生产部门、市场部门、财务部分、人事部门、技术部门和经理办公室,
随机试题
Excel2010中输入当前日期的快捷键是________。
简述介质过滤的机理及常用的过滤介质。
患者戴用全口义齿后感到牙槽嵴普遍疼痛,面部肌肉酸痛,上腭有烧灼感,每日仅能戴用数小时就需摘下,否则难以忍受。其最可能的原因是
A.±10%.B.±7.5%.C.±5.0%.D.±15%.E.70%.
利息简单讲是借贷资本的( )。
人性本善论者对教育的力量充满信心,且强调教育的作用就是顺其自然,使人的本性充分地发展。()
()是我国最早的占卜用书。
下列属于公民基本权利中政治权利和自由的是()。
[2005年MPA真题]在工作场所,流感通常由受感染的个人传给其他在他附近工作的人,因此一种新型的抑制流感症状的药实际上增加了流感的受感染人数,因为这种药使本应在家卧床休息的人在受感染时返回到工作场所。以下哪项如果为真,将最严重地质疑了这一预测?
Ofallthingsintheworld,Imostdislikefillingupforms;infact,Ihaveapositivehorrorofit.Applyingforadrivinglic
最新回复
(
0
)