首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和C代码,回答以下问题,将解答写在答题纸的对应栏内。 【说明】 假币问题:有n枚硬币,其中有一枚是假币,已知假币的重量较轻。现只有一个天平,要求用尽量少的比较次数找出这枚假币。 【分析问题】 将n枚硬币分成相等的两部分: (1)当n为偶数时,将
阅读下列说明和C代码,回答以下问题,将解答写在答题纸的对应栏内。 【说明】 假币问题:有n枚硬币,其中有一枚是假币,已知假币的重量较轻。现只有一个天平,要求用尽量少的比较次数找出这枚假币。 【分析问题】 将n枚硬币分成相等的两部分: (1)当n为偶数时,将
admin
2018-09-03
26
问题
阅读下列说明和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://kaotiyun.com/show/qzxZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
认真阅读下列有关移动用户身份认证技术的说明,根据要求回答问题1至问题4。【说明】随着无线局域网技术、3G移动通信技术的不断发展,网络资源得到了更广泛的利用。由于移动环境下的通信链路比较容易受到恶意攻击或窃听,因此在移动节点与本地代理1之间交换的登
Samba的工作原理是:让(1)和NetBIOS这两种协议运行于TCP/IP通信协议之上,且通过Windows的(2)协议让用户的Linux计算机可以在Windows的网络邻居上被看到。Samba服务器配置工具是用来管理Samba共享、用户及基本服
光接入网(OAN)由ONU、ODN和OLT等三大部分组成。请将以下所提供的网络设备的序号填写到如图3-6所示的网络结构图中(1)~(5)空缺处对应的位置。【供选择的设备】①ONU②OLT③光分路器④光收发器⑤
阅读以下说明,回答问题1、问题2、问题3和问题4,将解答填入对应栏内。[说明]RIP(RoutingInformationProtocols,路由信息协议)是使用最广泛的距离向量协议,它是由施乐(Xerox)在70年代开发的。当时,RI
X.25规范对应OSI参考模型中的3层,X.25的第3层描述了分组的格式及分组交换的过程。X.25的第2层由LAPB(LinkAccessProcedure,Balanced)实现,它定义了用于DTE/DCE连接的帧格式。X.25的第1层定义了电气和
在图8-12所示的拓扑结构中的代理服务器上依次单击“开始→程序→管理工具→路由与远程访问,并在系统弹出的界面中打开“IP路由选择”目录树,然后用鼠标右键单击“NAT/基本防火墙”,选择[新增接口]命令。接着若选择接口1的“本地连接”,最后进行如图8-13所
造成故障1的原因是什么?如何解决?1.将故障2中(1)和(2)两处合适的答案填入相应的解答栏内。2.故障2如何解决?
认真阅读以下基于Windows2003操作系统IPv6的技术说明,根据要求回答问题1至问题4。【说明】由于现有的网络设备大部分都是基于IPv4的,也不可能在短时间内都更新换代来支持IPv6,因此在相对比较长的一段时期内,IPv6网络将和IPv4
阅读以下说明,回答问题1、问题2、问题3。随着通信市场的日益开放,电信业务正向数据化、宽带化、综合化、个性化飞速发展,各运营商之间竞争日益激烈。而竞争的基本点就在于接入资源的竞争,如何快速、有效、灵活、低成本提供客户所需要的各种业务成为运营商首要考虑的问
简述网络规划阶段需求分析的方法和解决的问题(控制在100个字以内)。在需求分析过程中应对已有网络的现状及运行情况作调研,如果要在已有的网络上作新的网络建设规划,如何保护用户已有投资(控制在100个字以内)?
随机试题
民警甲、乙在盘查过程中,发现李某有吸毒嫌疑,且无正当理由拒绝接受传唤。李某在被民警强制传唤的过程中,试图将口袋内圆珠笔拆解吞下。此时,民警可以使用()。
下列关于正常窦性心律的描述哪项是错误的
A.单室单剂量血管外给药c一t关系式B.单室单剂量静脉滴注给药c—t关系式C.单室单剂量静脉注射给药c一t关系式D.单室多剂量静脉注射给药c一t关系式E.多剂量函数
乙公司向甲公司发出要约,旋又发出一份“要约作废”的函件。甲公司的董事长助理收到乙公司“要约作废”的函件后,忘了交给董事长。第三天甲公司董事长发函给乙公司,提出只要将交货日期推迟两个星期,其他条件都可接受。后甲、乙公司未能缔约,双方缔约没能成功的原因是什么?
合同法的基本原则有( )。
()是以财务报表中的某一总体指标为基础,计算其中各构成项目占总体指标的百分比,然后比较不同时期各项目占百分比的增减变动趋势。
帕累托最优状态的条件有()。
某省小张(男)和小李(女)恋爱多年,近期准备结婚。下列说法错误的是()。
1000BASE-T标准使用5类非屏蔽双绞线,双绞线长度最长可以达到()。
Whatisthemaintopicoftheconversation?
最新回复
(
0
)