首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和C代码,回答以下问题,将解答写在答题纸的对应栏内。 【说明】 假币问题:有n枚硬币,其中有一枚是假币,已知假币的重量较轻。现只有一个天平,要求用尽量少的比较次数找出这枚假币。 【分析问题】 将n枚硬币分成相等的两部分: (1)当n为偶数时,将
阅读下列说明和C代码,回答以下问题,将解答写在答题纸的对应栏内。 【说明】 假币问题:有n枚硬币,其中有一枚是假币,已知假币的重量较轻。现只有一个天平,要求用尽量少的比较次数找出这枚假币。 【分析问题】 将n枚硬币分成相等的两部分: (1)当n为偶数时,将
admin
2018-09-03
24
问题
阅读下列说明和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)
}
}
}
若输入的硬币数为30,则最少的比较次数为( ),最多的比较次数为( )。
选项
答案
2、4
解析
转载请注明原文地址:https://kaotiyun.com/show/vzxZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
请用蒙特卡罗错误随机植入模型估算出被测程序模块中将会遗留下多少个未被发现的隐藏错误。请简要列出计算式子及计算过程。信息部门的吴总工程师向谢工程师建议了另一种测试方案作为“错误随机植入”测试方法的补充。即由A和B两组测试人员同时相互独立地测试同一份宽带路
当路由器Router1启用OSPF协议后,将每10秒钟向它的各个接口发送Hello分组,接收到Hello分组的路由器就知道了邻居的存在。如果在40秒内没有从特定的邻居接收到这种分组,路由器就认为那个邻居不存在了。OSPF邻接建立过程主要经过关闭(D
双绞线可以制作成直连线和交叉线两种形式,在图3-12所示的拓扑结构中,交换机与路由器(Router)相连的双绞线应制作成什么形式?仔细阅读以下与路由器(Router)的快速以太网接口实现不同VLAN间路由的相关配置信息,结合图3-12所示的拓扑结构图
为了便于用户下载相关资料,特安装一台FTP服务器,其服务器端软件是Serv-U,假如要增加一个名为CIU10009的用户,对应目录为D盘,且要求加密,在图6-4中怎么设置?为了保证FTP服务器的数据安全,每个在读取文件时,只能读取和执行相关文件,请问在
阅读以下有关网络规划的叙述,回答问题1至问题3。网络工程是一项复杂的系统工程,一般可分为网络规划、网络设计、工程实施、系统测试验收和运行维护等几个阶段。网络规划是在需求分析的基础上,进行系统可行性分析和论证,以确定网络总体方案。网络规划阶段任务完成
请阅读以下说明和Socfon程序,将应填(n)处的字句写在对应栏内。【说明】网络应用的基本模型是客户机/服务器模型,这是一个不对称的编程模型,通信的双方扮演不同的角色:客户机和服务器。以下是一个简单的客户机程序(服务器程序略),其工
请简要说出DHCP服务的基础流程?请分别写出在Linux系统中启动、停止和重新启动DHCP服务的3个命令。
阅读以下说明,回答问题1、问题2、问题3、问题4和问题5,将解答填入对应栏内。[说明]CableModem可以作为一个网桥直接与用户相连,也可以作为一个路由器与Hub相连,从经济角度考虑,目前采用后一种方式居多。有一种HFC网络如图6-2
设计布线时,需要考虑哪些主要因素?结构化布线应遵循的国际标准有哪些?
请阅读以下说明和Socfort程序,将应填(n)处的字句写在对应栏内。网络应用的基本模型是客户机/服务器模型,这是一个不对称的编程模型,通信的双方扮演不同的角色:客户机和服务器。以下是一个简单的客户机程序(服务器程序略),其工作过程非常简单:客
随机试题
唯心史观的根本缺陷是()
患者王某,女性,65岁。癫狂久延,妄言妄为,寝不安寐,焦急烦躁,形瘦,面红而秽,口干便难,舌尖红无苔,有剥裂,脉细数。其治法是
A.紫癜伴关节腔出血B.紫癜伴休克或其他部位广泛严重出血C.紫癜伴黄疸D.紫癜伴发热E.紫癜伴严重贫血血友病
尿毒症患者发生纤维性骨炎的主要原因是
根据《工程建设项目施工招标投标办法》(2013年修订)(七部委第30号令),下列属于招标人与投标人串通投标的行为包括()。
施工合同中约定按每月确定的工程量支付工程款,发包方没有按期付款,承包方欲请求法院保护其民事权利,该诉讼时效期间应从()之日算起。
关于我国人民调解制度,下列说法正确的是()。
在Windows98环境下,如果有I+DOS应用程序、2个Win16应用程序和3个Win32应用程序正在运行,则系统当前有()个虚拟机在工作。
Thewomanwasdelightedattherecoveryofherstolenjewels.
Completethesentencesbelow.WriteNOMORETHANTWOWORDSforeachanswer.Asagift,a20%discountonthe______feeswillbe
最新回复
(
0
)